Python Selenium 中的 ExpectedConditions 类
ExpectedConditions 类是 Selenium 中的一个模块,用于定义各种等待条件,以便在编写自动化测试脚本时可以在正确的时机执行测试操作。以下是该类中一些常用的方法:
- presence_of_element_located:等待元素出现在 DOM 中。
代码示例:等待 id 为“myElement”的元素出现。
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "myElement")))
- visibility_of_element_located:等待元素在页面中可见。
代码示例:等待 id 为“myElement”的元素在页面中可见。
element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "myElement")))
- invisibility_of_element_located:等待元素在页面中不可见。
代码示例:等待 id 为“myElement”的元素在页面中不可见。
element = WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.ID, "myElement")))
- element_to_be_clickable:等待元素可被点击。
代码示例:等待 id 为“myElement”的元素可被点击。
element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "myElement")))
- title_contains:等待页面标题包含指定的文本。
代码示例:等待页面标题包含“皮蛋编程”。
title = WebDriverWait(driver, 10).until(EC.title_contains("皮蛋编程"))
- url_contains:等待页面 URL 包含指定的文本。
代码示例:等待页面 URL 包含“pidancode.com”。
url = WebDriverWait(driver, 10).until(EC.url_contains("pidancode.com"))
总体来说,使用 ExpectedConditions 类的目的是在自动化测试过程中等待特定的条件出现,这样可以使测试脚本更可靠、更健壮。
相关文章