我是Python的新手,我正在尝试制作一个程序代码来检查元素ID是否尽快在页面中存在或存在,如果不存在,它会一直刷新页面直到它存在.. < / p>
我用ID和try和except尝试了driver.find_element,并且执行该过程大约需要六秒钟,我需要一种更快的方法来检查元素是否存在
我过去的代码是:
while true:
try:
a = driver.find_element_by_id('ID')
break
except NoSuchElementException:
driver.refresh()
它工作正常,但是我想知道是否有一种方法可以使过程更快。 谢谢
答案 0 :(得分:0)
这取决于网站使元素显示的方式。
如果它是一个相对静态的网站,则意味着该元素仅在刷新后才能显示,那么您的代码就是最快的代码。
如果该元素是使用javascript创建的,则意味着该元素即使没有刷新也将出现在网站上,那么这可能会更快:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, 'ID'))
)
它每500毫秒检查一次元素,直到找到它为止或10秒后超时。
在此处阅读以获取更多信息:https://selenium-python.readthedocs.io/waits.html