在Python中使用Selenium的隐式等待
selenium
包用于自动化和用Python脚本进行测试。我们可以用它来访问网页上的各个元素,并对它们进行处理。
这个包里有许多方法可以根据不同的属性来检索元素。当一个页面被加载时,一些元素被动态地检索出来。
与其他元素相比,这些元素的加载速度可能不同。
在Python中使用Selenium的隐式等待
如果我们试图获取一个不可用的元素,就会产生一个ElementNotVisibleException
。这是因为该元素在源中被定义,但在DOM中还不可见。
对于这一点,我们可以使用隐式等待。通过使用selenium
的隐式等待,我们可以告诉webdriver
对象在抛出一个异常之前等待所需的时间。
如果在这段时间内没有找到需要的元素,就会抛出异常。
我们使用implicitly_wait()
函数来设置隐式等待时间。这个函数与webdriver
一起使用,用于指定隐式等待时间。
该时间以秒为单位指定。
请看下面的代码。
from selenium import webdriver
driver = webdriver.Chrome(r'C:/path/to/chromedriver.exe')
driver.implicitly_wait(10)
driver.get("https://www.sample.org/")
e = driver.find_element_by_id("some_form")
在上面的例子中,我们使用webdriver
对象重定向到一个网页,并尝试使用find_element_by_id()
函数来检索一个元素。这个函数将找到其id
属性与提供的值相匹配的元素。
由于这是一个动态元素,我们使用implicitly_wait()
方法指定一个隐含的时间为10秒,以确保该元素得到加载时间。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。