我必须点击id
的按钮。但是这个id
是动态生成的。并且发现By.className()
没有做任何事情。
按钮的HTML代码:
<td class="x-btn-mc">
<em class="" unselectable="on">
<button id="cq-gen372" class=" x-btn-text" type="button">OK</button>
</em>
</td>
如何选择按钮并在Java中单击它?
答案 0 :(得分:1)
By.className()
在IE和一些较旧的Selenium版本中确实存在错误。我不知道情况仍然如此。无论如何!你可以搜索很多东西,而不仅仅是id:
如果它是页面上唯一(或第一个)OK按钮,您可以尝试By.xpath("//button[text()='OK']");
。
有关更多x路径,请参阅XPath v1.0 on w3.org和XPath v2.0 on w3.org - only for some new browsers!。
或者您可以使用css选择器 - The w3 again或wikipedia。
答案 1 :(得分:1)
您可以使用以下选项
//button[text()='OK']
xpath=//button[contains(., 'OK')]
//button[contains(@class, 'x-btn-text')]