无法捕获动态元素的XPath - Selenium - C#(Visual Studio)

时间:2017-05-16 05:39:02

标签: xpath selenium-webdriver

The drop down list disappears on mouse click event on anywhere in the screen.有一个文本框,其中输入数据。在输入下拉列表时弹出(类型的自动扩展器),几乎没有与输入文本匹配的选项。我需要从列表中选择一个值。但我无法捕获XPath,当我尝试获取XPath时,列表自动关闭。如何捕获这样的元素?

List的HTML代码:

<div id="citydiv" style="height: 120px; overflow: auto; position: absolute; width: 129px; visibility: hidden; left: 370px; top: 542px; z-index: 1000; display: none;" class="AutoExtender"></div>

1 个答案:

答案 0 :(得分:0)

您可以通过使用Chrome开发工具断点来阻止列表立即消失。

  • 使用谷歌浏览器打开所述页面
  • 打开chrome开发人员工具(F12)
  • 点击来源&gt;事件监听器断点&gt;鼠标&gt;启用点击事件
    enter image description here
  • 专注于您的文本框,输入内容以显示自动完成。如果在出现自动完成下拉列表之前出现调试器按钮,则只需点击“恢复”。
  • 列表出现后,单击文本框以使屏幕冻结。
  • 屏幕冻结后,只需单击下面的方框图标,然后单击要检查的元素即可。
    enter image description here

    希望这有帮助。

    更新1:
    键入时,此站点具有类似的自动完成列表: http://way2automation.com/way2auto_jquery/autocomplete.php

    我使用了上面相同的步骤,我可以检查元素。 enter image description here

    如果它仍然不适用于您的页面,请尝试将点击断点更改为mousedown断点。

    更新2:
    尝试一步一步地做到这一点:

  • 1)使用上述步骤启用鼠标点击断点
  • 2)单击您的文本框 - 这将导致屏幕冻结。
  • 3)点击简历,直到您可以在文本框中输入值
  • 4)输入一个将显示自动扩展程序列表的值
  • 5)点击任何可用选项 - 这应该在列表消失之前冻结屏幕。
  • 6)一旦屏幕冻结,点击下面突出显示的检查元素图标 - 这将解冻屏幕,但正确显示自动扩展程序列表 enter image description here
  • 7)点击检查元素。 - 这应该再次冻结屏幕,同时您可以检查刚刚单击的元素/节点。