给我几种python selenium的显示等待写法示例

当使用Python的Selenium库进行浏览器自动化测试时,显示等待(Explicit Waits)是非常有用的。下面是几种常见的Python Selenium显示等待的写法示例:

  1. 使用WebDriverWaitExpectedConditions
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 创建WebDriverWait对象,并指定最大等待时间
wait = WebDriverWait(driver, 10)

# 等待元素可见
element = wait.until(EC.visibility_of_element_located((By.ID, 'element-id')))

# 等待元素存在
element = wait.until(EC.presence_of_element_located((By.XPATH, 'xpath-expression')))

# 等待元素可点击
element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'css-selector')))
  1. 使用expected_conditions模块提供的内置条件:
from selenium.webdriver.support import expected_conditions as EC

# 等待元素文本包含指定内容
element = wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR, 'css-selector'), 'expected-text'))

# 等待元素不可见
element = wait.until_not(EC.visibility_of_element_located((By.XPATH, 'xpath-expression')))
  1. 使用@appium_lib.utils.wait装饰器:
from appium_lib.utils import wait

# 使用装饰器包装需要等待的函数
@wait(driver=driver, timeout=10)
def wait_for_element():
    return driver.find_element_by_id('element-id')
    
# 调用等待函数,会等待元素可见
element = wait_for_element()

这些示例展示了一些常见的Python Selenium显示等待写法。你可以根据具体的测试需求选择适合的等待条件和方法。希望对你有帮助!如有任何问题,请随时提问。