如何解决如何循环直到元素可点击
我正在使用 python selenium chrome 驱动程序,但我被困在这里。
如何循环此代码直到其中一个元素可点击?
就像如果它最终可点击它应该被点击并打印(“可点击”),如果它仍然不可点击它应该打印(“不可点击”)
WebDriverWait(driver,15).until(EC.element_to_be_clickable((By.XPATH,"//BUTTON[@type='submit'[text()='Zum Warenkorb hinzufügen']"))).click()
WebDriverWait(driver,150).until(EC.element_to_be_clickable((By.CLASS_NAME,"c-modal__content")))
解决方法
我不确定您对大写按钮的使用是否正确。使用与 html 相同的语法。
还有一件事:用 text() 检查你的 xpath:
应该是://button[@type='submit' and text()='Zum Warenkorb hinzufügen']
此外,在一个元素的情况下,这种循环的一般情况是:
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
wait = WebDriverWait(driver,15)
while True:
try:
element = wait.until(EC.element_to_be_clickable((By.XPATH,"//button[@type='submit' and text()='Zum Warenkorb hinzufügen']")))
print("clickable")
element.click()
except TimeoutException:
break
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。