Python Selenium 中的自定义等待条件

2023-04-17 00:00:00 条件 等待 自定义

Python Selenium 中的自定义等待条件是通过继承 WebDriverWait 类并重写 call 方法实现的。以下是一个示例,用于检查页面是否包含特定的文本:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

class text_present_in_page(object):
    def __init__(self, text):
        self.text = text

    def __call__(self, driver):
        return self.text in driver.page_source

# 使用自定义等待条件
wait = WebDriverWait(driver, 10)
wait.until(text_present_in_page('pidancode.com'))

在上述示例中,我们定义了一个名为 text_present_in_page 的自定义等待条件。在初始化方法中,我们传递了一个文本参数,并在 call 方法中检查页面是否包含该文本。如果页面包含该文本,该方法将返回 True,否则返回 False。

在使用自定义等待条件时,我们只需要将其传递给 WebDriverWait 类的 until 方法即可实现等待行为。在本例中,我们等待页面中包含文本“pidancode.com”。

相关文章