Selenium Automation-如何迭代类元素

问题描述 投票:0回答:1

如何使用 selenium python 迭代多个类元素

launch_box = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(@class, 'launch-button') and contains(@class, 'ml-2') and contains(@class, 'btn') and contains(@class, 'btn-link')]")))

我想访问该类中的第三个或第四个元素。 我该怎么办?

python selenium-webdriver automation
1个回答
0
投票

您可以使用 lambda 来返回元素作为

element_to_be_clickable()

的参数
launch_box = WebDriverWait(driver, 20).until(
  EC.element_to_be_clickable(
    lambda driver: driver.find_elements(By.XPATH,"//button[contains(@class, 'launch-button') and contains(@class, 'ml-2') and contains(@class, 'btn') and contains(@class, 'btn-link')]")[3]
  )
);

也许这个简单的选择器适合您

launch_box = WebDriverWait(driver, 20).until(
  EC.element_to_be_clickable(
    lambda driver: driver.find_elements(By.CSS_SELECTOR,"button.launch-button.ml-2.btn.btn-link")[3]
  )
);
© www.soinside.com 2019 - 2024. All rights reserved.