testing - 如何处理 HTML 中的动态 ID

标签 testing selenium webdriver selenium-webdriver

我必须单击具有 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.orgXPath v2.0 on w3.org - only for some new browsers! .

或者您可以使用 css 选择器 - The w3 againwikipedia .

关于testing - 如何处理 HTML 中的动态 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9906847/

相关文章:

testing - 在 STAF/STAX 中导入 json

python - 使用 Python Selenium Webdriver 捕获 PDF 文件

android - Robotium clickOnButton 类中的 2 个测试

javascript - 测试 JS API Lib 的好方法

用于验证相等运算符的 C++ 测试随着时间的推移与结构保持一致

python - 节点出现故障时如何从 Selenium 集线器获取诊断信息?

java - 使用 selenium webdriver 下载文件夹中的文件

python - 如何通过 Python 使用 Selenium 单击此按钮

javascript - 如何在selenium javascript中循环遍历具有特定类名的元素

c# - 关于提高使用 Selenium Webdriver 迭代表行的方法速度的建议