如何单击2个具有相同名称,无ID和相同类别的链接中的1个。硒java

时间:2017-07-06 13:34:10

标签: java selenium xpath click

我试图让selenium点击“选择”按钮,但我无法使用by.linkText(),因为有两个名称相同的按钮。 我使用此xpath ".//*[contains(@id,'view-something_111111_2A22DF2_)']/div/a[text()='Select']";来查找按钮,但无法找到它。

我也试过".//*[contains(@id,'view-something_111111_2A22DF2_)']/div/a";。 我查看了Selenium文档,似乎无法找到解决方案。

以下是网站代码部分:



<div id="view-something_111111_2A22DF2_0" class="coverage-wrap collapse" aria-expanded="false" style="height: 30px;">...</div>
<div class="btn-raplace">
  <a class="btn-beer" data-toggle="collapse" data-target="#view-effectData_111111_2A22DF2_0">Select</a>
&#13;
&#13;
&#13;

作为参考,第二个Select按钮具有以下代码:

&#13;
&#13;
<div id="view-something_111111_2A3B5DF2_0" class="coverage-wrap collapse" aria-expanded="false" style="height: 30px;">...</div>
<div class="btn-raplace">
  <a class="btn-beer" data-toggle="collapse" data-target="#view-effectData_111111_2A3B5DF2_0">Select</a>
&#13;
&#13;
&#13; 这就是我在xpath中使用id的原因。

感谢。

3 个答案:

答案 0 :(得分:1)

你可以尝试这个XPATH: - //*[@class="btn-raplace"]/a[@class="btn-beer"][1]这里[1]是你的按钮位置。您要点击哪个

答案 1 :(得分:0)

以下是您的问题的答案:

使用此xpath:

//div[@class='btn-raplace']/a[@class='btn-beer']

如果这回答你的问题,请告诉我。

答案 2 :(得分:0)

我可以在你正在使用的Xpath中看到两个错误。

第一个错误:

.//* [包含(@id,&#39; view-something_111111_2A22DF2 _)&#39;] 不正确。您已将单引号放在错误的位置。它应该是 的 // DIV [含有(@id,&#39;视图something_111111_2A22DF2&#39)]

第二个错误

元素div与class =&#34; btn-raplace&#34;不是上述元素的孩子。我可以在HTML中看到上面的元素在这个元素之前有结束标记。

请用以下内容替换您的XPATH:
             的 // DIV [含有(@id,&#39;视图something_111111_2A22DF2&#39)] /以下同胞:: DIV [1] / A