Skip to main content
 首页 » 编程设计

Python之Selenium之隐式等待多个元素

2025年05月04日9jirigala

目前我使用隐式等待来定位元素,然后再对它们执行任何操作。查看隐式等待示例:

WebDriverWait(browser,10).until(EC.presence_of_element_located(By.XPATH(('xpath'))) 

这在处理单个元素时效果很好。但是,如果 xpath 与多个元素相关,则 EC.presence_of_element_located() 似乎会超时。我的问题是,如何隐式等待多个元素?

澄清:

单个元素-

WebDriverWait(browser,10).until(EC.presence_of_element_located(By.XPATH(('xpath'))) 
browser.find_element_by_xpath('xpath') 

多元素-

?? 
browser.find_elements_by_xpath('xpath') 

注意:注意在多元素实例中使用 find_elements_by_xpath() 而不是使用 find_element_by_xpath()

请您参考如下方法:

我迟到了两年多,但我想发布这个,以防有人像我一样在这里用谷歌搜索。你可以使用

WebDriverWait(browser, 10).until( 
    EC.presence_of_all_elements_located((By.XPATH, 'xpath')) 
) 

这将返回所有这些。你不需要做

browser.find_element_by_xpath('xpath') 

在您显式等待之后,因为 WebDriverWait(browser,10).until(...) 将返回您正在等待的元素。