Python+Selenium定位不到输入下拉复选框,无select属性,span文本类型

Selenium做自动输入搜索时,需要选择多个元素,其中一个下拉输入复选框需要通过勾选才能定位到,没有独立id,尝试了许多方法还是定位不了。

img

img

img

错误如下:NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[11]/div[1]/div[1]/ul/div[1]/li[24]/div/span/i"}

(Session info: chrome=101.0.4951.64)

我需要勾选三个,尝试过用send_key()输入,但是输入一个可以运行,输第二个的时候再定位就错误,只要两次就出错,感觉每一次那个绝对路径都有问题。
想要达到勾选三个下拉复选框的内容。

这要复选定位,你先定位到下拉选项click一下,然后在去定位选项在click,因为要先定位到选项框元素才会加载出来,不加载出来定不到位

先点击下拉框,然后再去选就可以,然后停一秒再运行

报错信息是这个:{"method":"xpath","selector":"/html/body/div[11]/div[1]/div[1]/ul/div[1]/li[24]/div/span/i"}
如果你想要取到的是截图你的DC发货,这个xpath是不对的,去掉后面的/i,试下:如下:
/html/body/div[11]/div[1]/div[1]/ul/div[1]/li[24]/div/span
或者直接用text的模糊查询:如下:"//span[text()='DC发货']"

常见几种原因与应对,详细参见http://www.blogjava.net/qileilove/archive/2014/12/11/421309.html

1,动态ID无法找到,用xpath路径解决;

2,iframe导致,用先定位frame方式解决;

3,不在一个frame里,用切换到默认的content,再定位frame,元素的方式解决;

4,xpath描述错误;

5,点击速度过快;

6,安全性不允许跨域;