如题
写个 for 循环,然后返回第一个找到的元素,没找到就继续循环;然后根据找到的元素判断你要做什么
try:
    # 设置等待时间
    timeout = 10  # 等待10秒
    # 等待元素A或B出现
    element_a = WebDriverWait(driver, timeout).until(
        lambda d: d.find_elements(By.ID, '元素A的ID') or d.find_elements(By.ID, '元素B的ID')
    )
    # 检查元素A是否先出现
    if element_a[0].get_attribute('id') == '元素A的ID':
        # 执行步骤A
        print("元素A先出现,执行步骤A")
        # 这里添加步骤A的代码
    else:
        # 执行步骤B
        print("元素B先出现,执行步骤B")
        # 这里添加步骤B的代码
except TimeoutException:
    print("在指定的时间内没有找到元素A或B")
finally:
    # 关闭浏览器
    driver.quit()
from selenium import webdriver
driver = webdriver.Chrome()
try:
    driver.get('your_url')
# 不断轮询检查元素 A 和元素 B 是否存在
    while True:
        try:
            if driver.find_element_by_xpath('element_A_xpath'):
                # 元素 A 先出现,执行步骤 A
                print("元素 A 先出现,执行步骤 A")
                break
            elif driver.find_element_by_xpath('element_B_xpath'):
                # 元素 B 先出现,执行步骤 B
                print("元素 B 先出现,执行步骤 B")
                break
        except:
            pass
finally:
    driver.quit()
 Pactortester
          
      回复
Pactortester
          
      回复
    要喂到嘴边
element_a = WebDriverWait(driver, timeout).until(
    lambda d: d.find_elements(By.XPATH, '元素A的XPATH') or d.find_elements(By.XPATH, '元素B的XPATH')
)

个人整理的元素定位,基本可以解决 90% 的元素定位,其中 # 是占位符
 disable
          
      回复
disable
          
      回复
    if element_a[0].get_attribute('id') == '元素 A 的 ID':
是这里没想好怎么改
