如何在python中使用selenium单击<ul>元素中的<li>元素列表?

eve*_*ine 3 python selenium

在此处输入图片说明

我试图在下拉菜单中选择 2002。它在任何时候都不起作用。我用过xpath

driver.find_element_by_xpath("html/body/main/div/form/div[3]/div[1]/section/div[3]/fieldset/div[7]/dl[1]/dd/ul/li[1]/a").click()
Run Code Online (Sandbox Code Playgroud)

但它不起作用......我尝试了我得到的所有解决方案......我该如何选择?

Sau*_*aur 5

如果您能够打开下拉项目但无法单击项目,则应尝试使用Explicit WaitswithWebDriverWait等待该元素可见并启用单击如下:-

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul#ulBirthYear a[data-value='2002']")))
element.click()
Run Code Online (Sandbox Code Playgroud)

或者

element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, "2002")))
element.click()
Run Code Online (Sandbox Code Playgroud)