python - 如何等待使用 Selenium 和 Python 加载的元素数量
问题描述
假设我正在使用选择器进行选择:
//img[@data-blabla]
我想等待 10 个元素被加载,而不仅仅是一个。
这将如何修改?我在猜测索引[9]
WebDriverWait(browser, 5).until(EC.presence_of_element_located((By.XPATH, '//img[@data-blabla][9]')))
解决方案
要等待10 个元素加载,您可以使用该lambda
功能,您可以使用以下任一Locator Strategies:
使用
>
:myLength = 9 WebDriverWait(browser, 20).until(lambda browser: len(browser.find_elements_by_xpath("//img[@data-blabla]")) > int(myLength))
使用
==
:myLength = 10 WebDriverWait(browser, 20).until(lambda browser: len(browser.find_elements_by_xpath("//img[@data-blabla]")) == int(myLength))
推荐阅读
- python - Pygame 运行缓慢
- java - Arraylist.add Java 出现空指针异常错误
- terraform - 使用 terraform 的阿里巴巴飞天 MySQL DB 多可用区实例
- java - @Async 在 Spring Boot 应用程序中给我错误
- asp.net - 使用带有 OUTPUT INTO 子句的 DELETE 对 SqlTransaction 不具有原子性
- android - Android Kotlin:如果当前活动或应用程序关闭,则进行集成测试
- c++ - 如何在 C++ 中解析 libcurl 响应?
- regex - 这个正则表达式查找特定字母有什么问题?
- python-3.x - 如何在域过滤器 odoo 中获得超过 7 个字段
- r - 如何在三重维恩图中添加逗号分隔符?