2017-07-06 62 views
0

我想让硒单击选择按钮,但我不能使用by.linkText(),因为有两个同名的按钮。 我正在使用此xpath ".//*[contains(@id,'view-something_111111_2A22DF2_)']/div/a[text()='Select']";来查找按钮,但找不到它。我也试过".//*[contains(@id,'view-something_111111_2A22DF2_)']/div/a";。 我查看了Selenium文档,似乎无法找到解决方案。如何点击2个具有相同名称,无标识和同一类的链接中的一个。硒java

下面是网站的一段代码:

<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>

参考,第二个选择按钮有这样的代码:

<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>
这就是为什么我我在我的xpath中使用了id。

谢谢。

+0

你能格式化HTML DOM(部分网站代码)正确地供我们进一步分析?谢谢 – DebanjanB

+0

这样更好吗? – Gingja

+0

考虑以下步骤:1.点击编辑编辑问题。 2.将光标放置在要粘贴HTML DOM的位置。 3.点击JavaScript/HTML/CSS,打开代码片段窗口。 4.点击HTML区域。 5.粘贴你的代码。 6.点击“Tidy”来格式化您的代码。 7.点击“保存并插入帖子” – DebanjanB

回答

0

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

的第一个错误:

.//*[contains(@id,'view-something_111111_2A22DF2_)']是incorrect.You放置了单引号在错误的地方。它应该是 // DIV [含有(@ ID, '查看-something_111111_2A22DF2')]

第二个错误

与类= “BTN-raplace” 元素DIV不是孩子的上述元素。我可以在HTML中看到上面的元素在这个元素之前有结束标签。

请更换您的XPATH:
// DIV [包含(@ ID, '视图something_111111_2A22DF2')] /以下同胞:: DIV [1] /一

+0

哇,我刚刚看到的第一个错误,第二个错误教会了我一些新的东西,精美的作品,非常感谢你。 – Gingja

0

这里是回答你的问题:

使用此XPath:

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

让我知道如果这个回答你的问题。

+0

问题是第二个按钮具有完全相同的类名称。我需要点击的链接取决于'“.//* [contains(@ id,'view-something_111111_2A22DF2 _)']'(主要是2A22DF2,可以改变但我可以照顾) – Gingja

+0

你可以扩展HTML DOM,所以我可以看到2选择标签之间的确切区别吗?将它的公共URL也分享给我,谢谢 – DebanjanB

+0

我已经添加了上面的第二个按钮 – Gingja

1

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

+0

不幸的是,我需要它依赖'view-something_111111_THIS NUMBER_0'因为这个数字发生了什么变化 – Gingja

相关问题