仅当元素出现时单击它



我正试图绕过我的程序中使用硒和chromedriver的问题。在实践中,程序崩溃是因为,例如,10次中有3次(我使用ciclewhile(出现了与通常不同的情况。因此,我考虑采用以下解决方案,但不幸的是,它不起作用(所以我给你这个想法(:

if WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='example']"))) ==true :
driver.find_element_by_xpath("//a[@class='example']").click()
else
break

我认为,只有当他找到元素并因此找到真实条件时,他才会点击,否则程序将继续

我通常使用:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

在try/except语句中处理此问题:

element_type_to_wait = By.XPATH
wait_until_element = "xpath_example"
time_out=30
element = WebDriverWait(my_web_driver, timeout=timeout).until(
EC.presence_of_element_located((element_type_to_wait, wait_until_element))

相关内容

  • 没有找到相关文章

最新更新