javascript - 如何结合execute_scipt和WebdriverWait

标签 javascript python selenium selenium-webdriver webdriverwait

我想知道是否有办法将 execute_script()WebdriverWait 结合起来。目前我有以下代码:

network_list = driver.find_element_by_xpath('//*[@id="folder_box"]/div[1]/div/div[2]/div[1]')
wait = WebDriverWait(driver, 4)
try:
    wait_network_list = wait.until(EC.element_to_be_clickable((By.XPATH, 'network_list')))
except:
    driver.execute_script("arguments[0].click();", network_list)

代码做了它应该做的事情,但我想这是一种丑陋的方式。有没有办法将我的 try 和 except 语句合并到一行代码中?

最佳答案

您可以调用WebdriverWait execute_script()内方法如下:

try:
    driver.execute_script("arguments[0].click();", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='folder_box']/div[1]/div/div[2]/div[1]"))))
    print("Element was clicked")
except TimeoutException:
    print("Element wasn't clicked")
    break

关于javascript - 如何结合execute_scipt和WebdriverWait,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57747480/

相关文章:

java - 您可以使用 cookies 绕过 Selenium WebDriver 中的 403 代码吗?

javascript - jQuery - 可拖动 UI - 如何检测元素是否已被拖动到某个位置,然后调用动画

javascript - 如何使用 PDFJS 突出显示文本?

python - 在 python 中运行特定的批处理命令

python - 为什么 numpy.allclose 使用非对称比较?

java - Selenium Java : Guarantee chromedriver. exe 程序退出时关闭

C# Selenium 使用不同的用户配置文件启动 Chrome

Javascript 将多个元素 move 到单独的 div 并返回

javascript - 为什么 jquery .click() 在添加 [0] 时对 href 起作用?

python - 按数据框中每组 bool 值出现的次数进行过滤