|
15 | 15 |
|
16 | 16 | def wait_for_selector(driver, selector, timeout=10, visible=False, single=False, wait_for_n=1): |
17 | 17 | if wait_for_n > 1: |
18 | | - return _wait_for_multiple( |
19 | | - driver, By.CSS_SELECTOR, selector, timeout, wait_for_n, visible) |
| 18 | + return _wait_for_multiple( |
| 19 | + driver, By.CSS_SELECTOR, selector, timeout, wait_for_n, visible) |
20 | 20 | return _wait_for(driver, By.CSS_SELECTOR, selector, timeout, visible, single) |
21 | 21 |
|
22 | 22 |
|
23 | 23 | def wait_for_tag(driver, tag, timeout=10, visible=False, single=False, wait_for_n=1): |
24 | 24 | if wait_for_n > 1: |
25 | | - return _wait_for_multiple( |
26 | | - driver, By.TAG_NAME, tag, timeout, wait_for_n, visible) |
| 25 | + return _wait_for_multiple( |
| 26 | + driver, By.TAG_NAME, tag, timeout, wait_for_n, visible) |
27 | 27 | return _wait_for(driver, By.TAG_NAME, tag, timeout, visible, single) |
28 | 28 |
|
29 | 29 |
|
@@ -69,16 +69,11 @@ def _wait_for_multiple(driver, locator_type, locator, timeout, wait_for_n, visib |
69 | 69 | wait = WebDriverWait(driver, timeout) |
70 | 70 |
|
71 | 71 | def multiple_found(driver): |
72 | | - try: |
73 | | - elements = driver.find_elements(locator_type, locator) |
74 | | - except WebDriverException as e: |
75 | | - raise e |
| 72 | + elements = driver.find_elements(locator_type, locator) |
| 73 | + if visible: |
| 74 | + elements = [e for e in elements if e.is_displayed()] |
76 | 75 | if len(elements) < wait_for_n: |
77 | 76 | return False |
78 | | - if visible: |
79 | | - for element in elements: |
80 | | - if not element.is_displayed(): |
81 | | - return False |
82 | 77 | return elements |
83 | 78 |
|
84 | 79 | return wait.until(multiple_found) |
|
0 commit comments