- Selenium Webdriver 教程
- 家
- 介绍
- 安装
- 浏览器导航
- 识别单个元素
- 识别多个元素
- 显式等待和隐式等待
- 弹出窗口
- 向后和向前导航
- cookie
- 例外情况
- 动作类
- 创建基本测试
- 形式
- 拖放
- 视窗
- 警报
- 处理链接
- 处理编辑框
- 颜色支持
- 在 Python 中生成 HTML 测试报告
- 从 Excel 读取/写入数据
- 处理复选框
- 在多个浏览器中执行测试
- 无头执行
- 等待支持
- 选择支持
- JavaScript 执行器
- Chrome WebDriver 选项
- 滚动操作
- 捕获屏幕截图
- 右键点击
- 双击
- Selenium Webdriver 有用资源
- Selenium WebDriver - 快速指南
- Selenium WebDriver - 有用的资源
- Selenium WebDriver - 讨论
Selenium Webdriver - 等待支持
Selenium 为显式和流畅等待同步的实现提供等待支持。为此,我们必须使用类 selenium.webdriver.support.wait.WebDriverWait。
等待支持的语法如下-
w = WebDriverWait(driver, 5) w.until(EC.presence_of_element_located((By.TAG_NAME, 'h1')))
一旦我们创建了 WebDriverWait 类的对象,我们就可以对其应用以下方法 -
直到- 它用于调用以驱动程序作为参数给出的方法,直到返回值为 true。
Until_not - 用于调用以驱动程序作为参数给出的方法,直到返回值不为 true。
让我们等待文本 Team @ Tutorials Point,在 WebDriverWait 方法的帮助下单击页面上的链接 - Team 即可获得该文本。
单击“团队”链接后,会出现“团队@教程点”文本。
代码实现
等待支持的代码实现如下 -
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait driver = webdriver.Chrome(executable_path='../drivers/chromedriver') #implicit wait time driver.implicitly_wait(5) #url launch driver.get("https://www.tutorialspoint.com/about/about_careers.htm") #identify element l = driver.find_element_by_link_text('Team') l.click() #expected condition for explicit wait w = WebDriverWait(driver, 5) w.until(EC.presence_of_element_located((By.TAG_NAME, 'h1'))) s = driver.find_element_by_tag_name('h1') #obtain text t = s.text print('Text is: ' + t) #driver quit driver.quit()
输出
输出显示消息 - Process with exit code 0 表示上述 Python 代码执行成功。此外,文本(从文本方法获得)-Team @TutorialsPoint 也会打印在控制台中。