Coding机器人
2019-03-26 16:50
采纳率: 27.3%
浏览 2.4k

selenium定位js下拉的菜单

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

图片说明

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

图片说明

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

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • Coding机器人 2019-03-29 14:49
    已采纳

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

    b.execute_script("testingactionopen('submitcptest','提交产品测试')")
    
    打赏 评论
  • 华洛 2019-03-26 17:02

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

    打赏 评论
  • 王林炎 2019-10-15 16:35

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

    打赏 评论

相关推荐 更多相似问题