我必须单击具有 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中如何选择按钮并点击?
最佳答案
By.className()
确实在 IE 和一些较旧的 Selenium 版本中存在漏洞。我不知道情况仍然如此。反正!您可以通过很多东西进行搜索,而不仅仅是 id:
你可以试试By.xpath("//button[text()='OK']");
如果它是页面上唯一(或第一个)确定按钮。
有关更多 xpath,请参阅 XPath v1.0 on w3.org和 XPath v2.0 on w3.org - only for some new browsers! .
或者您可以使用 css 选择器 - The w3 again或 wikipedia .
关于testing - 如何处理 HTML 中的动态 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9906847/