繁体   English   中英

用于尽快检查硒中是否存在元素的Python代码

[英]Python code to check if element exists in selenium as fast as possible

我是 Python 的新手,我正在尝试制作一个程序代码来检查元素 ID 是否存在或尽快出现在页面中,如果它不存在,它会不断刷新页面直到它存在..

我用 try 和 except 按 ID 尝试了 driver.find_element ,执行该过程大约需要六秒钟我需要一种更快的方法来检查元素是否存在

我过去的代码是:

while true:
        try:
            a = driver.find_element_by_id('ID')
            break
        except NoSuchElementException:
            driver.refresh()

它工作正常,但我想知道是否有办法让这个过程更快..谢谢,

这取决于网站如何使元素出现。

如果它是一个相对静态的网站,这意味着该元素只能在刷新后出现,那么您的代码是最快的代码。

如果该元素是使用 javascript 创建的,这意味着即使不刷新它也会出现在网站上,那么这可能会更快:

element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, 'ID'))
)

它每 500 毫秒检查一次元素,直到找到它或在 10 秒后超时。

阅读此处了解更多信息: https ://selenium-python.readthedocs.io/waits.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM