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

标签 python selenium xpath python-3.x

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

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(...) 将返回您正在等待的元素。

关于Python - Selenium - 隐式等待多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22710154/

相关文章:

python - 如何从 Pandas DataFrame 中获取值而不是索引和对象类型

Python,socket.error : [Errno 10049]

java - 使用 selenium 单击菜单选项

javascript - 如何使用 C# 在 selenium 中使用 JavaScriptExecutor 将样式属性设置为 div

python - 从忽略 DST 的时区获取 Python 中的时区偏移量

Python邮箱 "from name"自定义

java - 如何从 Selenium 和 JUnit 检索 li 中 AngularJS 生成的内容?

python - 使用 Python 规范化空格

c# - SwitchTo IFrame,其中 XPath 包含 id 的一部分

xml - XPATH:preceding::and ancestor::之间的区别?