selenium定位js下拉的菜单

有这样一个元素,这个元素鼠标移上去,会有一个下拉菜单,下拉菜单上的文字是调用的JS的方法,看图:

图片说明

鼠标移到这个倒三角会弹出这个下拉菜单,但是这个菜单中的选项并不能直接查看元素,这些元素并不存在于网页中

图片说明

我将鼠标移动到上面的文字时,发现这是调用JS脚本中的一个方法

但是我现在需要定位到这个元素才能操作点击事件,否则没法操作

请大师指点江山,我现在就是要点击红色方框框起来的文字,用selenium实现

brimdo
Coding机器人 回复暴躁大叔: 鼠标上去就显示了呀
5 个月之前 回复
haxiangzaiaini
暴躁大叔 你上面的('submitcptest','提交产品测试')是怎样显示出来的额
5 个月之前 回复

3个回答

关于这个问题我已经知道怎么解决了。
解决这个问题并不是要如何去定位这些下拉的菜单,因为这些菜单既不能查看元素,又不能拷贝Xpath。
只需要直接执行菜单中调用的JS方法即可,例如上图中的JS脚本只需要调用webdriver中的execute_script方法即可。

b.execute_script("testingactionopen('submitcptest','提交产品测试')")

元素并不存在于网页中这句话不成立。他一定是存在的。找到他就可以了;
1. 可以先找到他的父元素,然后再找他。
2. 也可以直接全局搜索这三个文案中的某一个。
都可以直接定位出这个元素。

那怎么再选取下面的下拉选项呢?下拉选项是通过js生成,在网页源代码里也找不到

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问