Python Selenium 中的 ExpectedConditions 类

2023-04-17 00:00:00 python selenium ExpectedConditions

ExpectedConditions 类是 Selenium 中的一个模块,用于定义各种等待条件,以便在编写自动化测试脚本时可以在正确的时机执行测试操作。以下是该类中一些常用的方法:

  1. 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")))
  1. visibility_of_element_located:等待元素在页面中可见。
    代码示例:等待 id 为“myElement”的元素在页面中可见。
element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "myElement")))
  1. invisibility_of_element_located:等待元素在页面中不可见。
    代码示例:等待 id 为“myElement”的元素在页面中不可见。
element = WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.ID, "myElement")))
  1. element_to_be_clickable:等待元素可被点击。
    代码示例:等待 id 为“myElement”的元素可被点击。
element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "myElement")))
  1. title_contains:等待页面标题包含指定的文本。
    代码示例:等待页面标题包含“皮蛋编程”。
title = WebDriverWait(driver, 10).until(EC.title_contains("皮蛋编程"))
  1. url_contains:等待页面 URL 包含指定的文本。
    代码示例:等待页面 URL 包含“pidancode.com”。
url = WebDriverWait(driver, 10).until(EC.url_contains("pidancode.com"))

总体来说,使用 ExpectedConditions 类的目的是在自动化测试过程中等待特定的条件出现,这样可以使测试脚本更可靠、更健壮。

相关文章