python wait_for wait_python-硒waitForElemen

本文介绍了在Python Selenium中等待元素出现的多种方法,包括使用WebDriverWait的until和until_not方法,以及结合Expected_conditions模块实现更复杂的等待策略。示例代码展示了如何等待元素可见或不可见,以及如何自定义等待逻辑。
摘要由CSDN通过智能技术生成

python-硒waitForElemen

如何在Python中编写Selenium函数以等待带有类标识符的表? 我在学习使用Selenium的Python Webdriver函数时遇到了恶魔。

13个解决方案

53 votes

从硒文档PDF:

import contextlib

import selenium.webdriver as webdriver

import selenium.webdriver.support.ui as ui

with contextlib.closing(webdriver.Firefox()) as driver:

driver.get('http://www.google.com')

wait = ui.WebDriverWait(driver,10)

# Do not call `implicitly_wait` if using `WebDriverWait`.

# It magnifies the timeout.

# driver.implicitly_wait(10)

inputElement=driver.find_element_by_name('q')

inputElement.send_keys('Cheese!')

inputElement.submit()

print(driver.title)

wait.until(lambda driver: driver.title.lower().startswith('cheese!'))

print(driver.title)

# This raises

# selenium.common.exceptions.TimeoutException: Message: None

# after 10 seconds

wait.until(lambda driver: driver.find_element_by_id('someId'))

print(driver.title)

unutbu answered 2020-08-06T09:57:59Z

20 votes

Selenium 2的Python绑定具有一个新的支持类,称为Expected_conditions.py,用于执行各种操作,例如测试元素是否可见。 在这里可用。

注意:截至2012年10月12日,以上文件位于主干中,但最新下载文件仍为2.25。 暂时直到发布新的Selenium版本,您才可以立即在本地保存该文件,并将其包含在您的导入文件中,就像我在下面所做的那样。

为了简化工作,您可以将其中一些预期的条件方法与Selenium wait until逻辑结合使用,以实现一些非常方便的功能,类似于Selenium 1中提供的功能。例如,我将其放入名为SeleniumTest的基类中, 我的Selenium测试类扩展了&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值