Python Selenium 检查 html 元素是否存在

标签 python selenium

我正在使用 python selenium 和 firefox 来检查页面标题是否为

WebDriverWait(driver, 60).until(lambda x: 'Page 1' in driver.title or 'Page 2' in driver.title)

我现在还想检查 HTML 元素是否存在,我可以在此 WebDriverWait 语句中执行此操作还是应该进一步处理结果?

最佳答案

一种选择是重用相同的 WebDriverWait() 实例并发出后续等待:

wait = WebDriverWait(driver, 60)
wait.until(lambda x: 'Page 1' in driver.title or 'Page 2' in driver.title)
wait.until(EC.presence_of_element_located((By.ID, "myid")))

或者,您也可以将它们组合在一个函数中:

def mywait(driver):
    if 'Page 1' in driver.title or 'Page 2' in driver.title:
        return EC.presence_of_element_located((By.ID, "myid"))(driver)

wait = WebDriverWait(driver, 60)
wait.until(mywait)

关于Python Selenium 检查 html 元素是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43476953/

相关文章:

python - ECC图像对齐方法中的warp_mode的cv2.MOTION_EUCLIDEAN

python - 时间 while 循环 python

javascript - 当发生特定事件时,如何更改 html 表格条目背景的背景颜色?

python - 如何从推特上抓取所有主题

java - 尝试以嵌入式模式启动 BrowserMobProxyServer 时发生 JNI 错误(Java、Maven)

python - 在 Sublime Text 3 和 Ipython shell 中加载 SublimeREPL 时出现问题

python - 如何让我的线程池更好地处理请求

python - 语法错误 - 解析时出现意外的 EOF

python - 向下滚动谷歌地图网页

java - 如何使用 Selenium 和 Java 从自动建议中选择一个选项?