无法使用XPATH访问下拉列表

时间:2018-02-09 14:57:56

标签: selenium webautomation

我是selenium Web自动化的新手。我试图访问下拉菜单中的元素但无法这样做。以下是HTML部分:

<div class="DropdownWidget---dropdown_value" id="3a5fa336ce7939555b5cd5d4fcb714fa_value" role="listbox" tabindex="0" aria-controls="3a5fa336ce7939555b5cd5d4fcb714fa_list" aria-expanded="false" aria-activedescendant="" aria-labelledby="3a5fa336ce7939555b5cd5d4fcb714fa" aria-describedby="3a5fa336ce7939555b5cd5d4fcb714fa_selectedChoice">

<!-- react-text: 15 -->Element1<!-- /react-text -->

<span id="3a5fa336ce7939555b5cd5d4fcb714fa_selectedChoice" class="DropdownWidget---accessibilityhidden">element1</span>

</div>

当我们点击它时,HTML中会生成下拉列表。 Xpath无法检测到它。

请帮助..

1 个答案:

答案 0 :(得分:0)

最好的模式是说服开发人员将data-test-id="MyDropdownWidget"添加到您要测试的DOM元素中:

<div data-test-id="MyDropdownWidget" ...

然后您可以通过driver.findElement(By.xpath("//@*[starts-with('MyDropdownWidget','data-test-id')...

访问它