selenium定位非select下拉框的元素 ,定位不到
先来看下网页效果:是一个可输入的下拉列表
再来看一下代码:是用ul和li模拟的下拉框,不是select类型的,所以不能传统的select定位方法
思路1:既然是可以输入的,那就可以当成输入框来输入就行了
1、定位输入框
2、点击输入框
3、输入下拉选项中的数据
执行之后发现点击输入框可以,输入的时候提示定位不到元素
思路2:定位到每一个下拉选项元素,点击操作
1、定位输入框
2、点击输入框
3、定位元素
4、点击元素
执行第三步的时候,在网页代码处右键选择copy xpath,我选择的是“1母婴用品”,
xpath: //*[@id="6d0a7eac-4293-409b-f5ae-c862f3380a5d"]/ul/li[2] ,使用这个xpath执行还是报错
就在我陷入绝境打算放弃的时候,百度到一个帖子,说是把id换成class可以,然后就试了试,
xpath: //*[@class="ant-select-dropdown-menu-item"][1], 执行一下,成功了!!!
代码如下:
总结:思路1的没有试将xpath中的id换成class,可能也会成功。
思路2中的方法是对的,就错在了太轻信网页自带的copy xpath 功能了,路径没错,只是根据这个元素找不到,下次遇到相同的问题,先切换定位方法