fix: 'click' wait argument

This commit is contained in:
2026-06-03 15:38:51 +08:00
parent 996bda2298
commit 772a8eb368

View File

@@ -52,7 +52,7 @@ def click(selector: str|WebElement, wait=True, condition=False):
element = locate(selector, wait, predicate) if isinstance(selector, str) else selector element = locate(selector, wait, predicate) if isinstance(selector, str) else selector
counter = lambda: int(element.get_attribute(identity) or '0') counter = lambda: int(element.get_attribute(identity) or '0')
value = counter() value = counter()
driver.execute_script("window.__%s__ = () => { arguments[0].setAttribute('%s', arguments[1] + 1) }" % ((identity,) * 2), element, value) driver.execute_script("window.__%s__ = () => { arguments[0].setAttribute('%s', arguments[1] + 1) };" % ((identity,) * 2), element, value)
driver.execute_script("arguments[0].addEventListener('click', __%s__);" % identity, element) driver.execute_script("arguments[0].addEventListener('click', __%s__);" % identity, element)
for _ in range(parameters.get('attempts', 0)): for _ in range(parameters.get('attempts', 0)):
@@ -65,7 +65,7 @@ def click(selector: str|WebElement, wait=True, condition=False):
error = True error = True
continue continue
try: try:
WebDriverWait(driver, parameters.get('interval', 0)).until(lambda _: counter() > value) if wait: WebDriverWait(driver, parameters.get('interval', 0)).until(lambda _: counter() > value)
break break
except TimeoutException: continue except TimeoutException: continue
except: break except: break