Selenium:在循环中使用显式等待

比斯瓦吉特·切普达尔

这通常是实现显式等待元素的方式:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Firefox()
driver.get("http://somedomain/url_that_delays_loading")
wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.ID, 'someid')))

在上面的示例中,它使用元素的ID来搜索元素,然后等待其可单击。

我想使用一个现有的元素对象而不是它的选择器来添加显式等待。

例:

fields = driver.find_elements_by_xpath("//input")
for field in fields:
    wait.until(EC.element_to_be_clickable(field))
里亚克桑德·普列豪(Aliaksandr Plekhau)

最简单的方法是使用visibility_of而不是element_to_be_clickable

如果您确实需要element_to_be_clickable(检查该元素是否可见并启用),则可以执行以下操作:

class enable_of(object):
    def __init__(self, element):
        self.element = element

    def __call__(self, ignored):
        return self.element.is_enabled()


fields = driver.find_elements_by_xpath("//input")
wait = WebDriverWait(driver, 10)
for field in fields:
    wait.until(EC.visibility_of(field))
    wait.until(enable_of(field))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

等待文件的脚本在while循环中使用100%CPU

来自分类Dev

Selenium Webdriver(VBA):显式等待

来自分类Dev

在for循环中使用整数计数器(I,j,k)制作表名/地址时,如何显式调用Lua表值?

来自分类Dev

在for循环中使用整数计数器(i,j,k)制作表名/地址时,如何显式调用Lua表值?

来自分类Dev

在回显块循环中使用ACF图像对象进行自定义分类

来自分类Dev

显式等待在Selenium Webdriver中不起作用

来自分类Dev

Selenium.common.exceptions.NoSuchElementException错误,即使显式等待

来自分类Dev

Selenium即使显式等待也会引发NoSuchElementException

来自分类Dev

Selenium 显式等待(导入文件夹)

来自分类Dev

硒显式等待

来自分类Dev

在循环中使用cvtColor

来自分类Dev

Python在FOR循环中使用IF

来自分类Dev

在for循环中使用if语句

来自分类Dev

在for循环中使用Groupby

来自分类Dev

在循环中使用NSDecimalNumber?

来自分类Dev

在For循环中使用Grep

来自分类Dev

在循环中使用sed

来自分类Dev

在for循环中使用if语句

来自分类Dev

在 for 循环中使用逗号

来自分类Dev

在Selenium WebDriver中,为什么我们需要在使用显式等待之前将隐式等待设置为0

来自分类Dev

在循环中使用循环进行编号

来自分类Dev

在foreach循环中使用for循环值

来自分类Dev

在Scala中使用“ _”代替显式类型

来自分类Dev

C:在双循环中使用 getchar() - 卡在循环中?

来自分类Dev

在循环中使用define_method在Ruby中创建方法(通过Selenium Webdriver)

来自分类Dev

在for循环中并使用if语句回显过滤后的数字

来自分类Dev

显式等待PageFactory @Findby

来自分类Dev

在“ for”循环中使用Jquery promise()等待效果完成,然后再开始下一个效果

来自分类Dev

在硒中使用隐式等待

Related 相关文章

  1. 1

    等待文件的脚本在while循环中使用100%CPU

  2. 2

    Selenium Webdriver(VBA):显式等待

  3. 3

    在for循环中使用整数计数器(I,j,k)制作表名/地址时,如何显式调用Lua表值?

  4. 4

    在for循环中使用整数计数器(i,j,k)制作表名/地址时,如何显式调用Lua表值?

  5. 5

    在回显块循环中使用ACF图像对象进行自定义分类

  6. 6

    显式等待在Selenium Webdriver中不起作用

  7. 7

    Selenium.common.exceptions.NoSuchElementException错误,即使显式等待

  8. 8

    Selenium即使显式等待也会引发NoSuchElementException

  9. 9

    Selenium 显式等待(导入文件夹)

  10. 10

    硒显式等待

  11. 11

    在循环中使用cvtColor

  12. 12

    Python在FOR循环中使用IF

  13. 13

    在for循环中使用if语句

  14. 14

    在for循环中使用Groupby

  15. 15

    在循环中使用NSDecimalNumber?

  16. 16

    在For循环中使用Grep

  17. 17

    在循环中使用sed

  18. 18

    在for循环中使用if语句

  19. 19

    在 for 循环中使用逗号

  20. 20

    在Selenium WebDriver中,为什么我们需要在使用显式等待之前将隐式等待设置为0

  21. 21

    在循环中使用循环进行编号

  22. 22

    在foreach循环中使用for循环值

  23. 23

    在Scala中使用“ _”代替显式类型

  24. 24

    C:在双循环中使用 getchar() - 卡在循环中?

  25. 25

    在循环中使用define_method在Ruby中创建方法(通过Selenium Webdriver)

  26. 26

    在for循环中并使用if语句回显过滤后的数字

  27. 27

    显式等待PageFactory @Findby

  28. 28

    在“ for”循环中使用Jquery promise()等待效果完成,然后再开始下一个效果

  29. 29

    在硒中使用隐式等待

热门标签

归档