如何使用 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')]")))
我想访问该类中的第三个或第四个元素。 我该怎么办?
您可以使用 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]
)
);