selenium 定位下拉选择框元素,非 select 下拉框

2,465 阅读1分钟

网上的教程大同小异,大多是 select 下拉框的最多,但我的不是 select 的,不能很好的解决,对于非 select 下拉框的解决办法,这篇文章完美解决了我的问题。

我的问题是,需要从下拉框中选择元素,此元素还需要在下拉框激活后,下拉拉滚动条才能看到,直接定位,报错定位不到元素,解决办法

对于这种情况,先获得全部下拉框的内容,在定位,参考代码:

# 激活下拉框
browser.find_element_by_xpath("//div[contains(@class,'chosen-c')]").click()
time.sleep(1)
 
# 提取此下拉框中的所有元素
lis=browser.find_elements_by_xpath("//ul[@class='chosen-results']/li")
 
# 判断需要的元素在哪里,点击
for li in lis:
    if "行业测试" in li.text:
        i.click()
        break
time.sleep(2)