如何使用 Selenium WebDriver 在每个页面加载时查找具有动态 ID/名称更改的元素

R达瓦尔

我找到了一些关于这个的答案,但他们没有回答我的问题,所以我正在写一个新问题。

我的 HTML 代码具有以下复选框元素(在浏览器的检查元素中)

<input role="checkbox" type="checkbox" id="jqg_TransactionFormModel501EditCollection2_147354_grid_-1274" class="cbox" name="jqg_TransactionFormModel501EditCollection2_147354_grid_-1274" value="true">

在我的测试用例中,我想使用 Selenium Webdriver 使用其 ID 单击复选框。

这里 Id="jqg_TransactionFormModel 501 EditCollection2_ 147354 grid - 1274 " 是动态的。

在上面的 id 中,粗体和斜体标记的字母(动态)会随着同一页面中不同的复选框以及页面刷新而变化。

粗体标记的字母(动态)只会在页面刷新时更改(通过同一页面中的所有复选框保持不变。)

我应该如何格式化/编写 XPATH 以便我可以使用以下语句单击所需的复选框。

WebElement checkbox = webDriver.findElement(By.id("idOfTheElement"));
if (!checkbox.isSelected()) {
    checkbox.click();
}

提前感谢您的帮助..!

盖伊

您可以使用部分 IDcssSelectorxpath

webDriver.findElement(By.cssSelector("[id*='TransactionFormModel']"));

webDriver.findElement(By.xpath("//input[contains(@id, 'TransactionFormModel')]"));

您可以替换TransactionFormModel为 ID 的任何其他固定部分。

作为旁注,不需要两次定位元素。你可以做

WebElement checkbox = webDriver.findElement(By.id("idOfTheElement"));
if (!checkbox.isSelected()) {
    checkbox.click();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Selenium WebDriver-当元素具有动态ID时如何获取元素的ID?

来自分类Dev

使用Selenium WebDriver Java单击动态加载页面的元素

来自分类Dev

如何通过Selenium、WebDriver和Python在页面中查找jQuery动态加载的元素

来自分类Dev

如何使用Selenium Webdriver C#查找具有非静态ID的元素

来自分类Dev

如何在Selenium Webdriver中处理动态更改的元素

来自分类Dev

使用 Selenium WebDriver 按文本查找元素

来自分类Dev

如何使用 selenium webdriver Firefox 查找和验证元素“标题”

来自分类Dev

如何使用Selenium Webdriver查找没有id属性的div元素

来自分类Dev

如何使用Selenium Webdriver查找没有id属性的div元素

来自分类Dev

Webdriver / Selenium:当元素没有类名,ID或CSS选择器时如何查找?

来自分类Dev

使用Selenium WebDriver在元素内查找时结果过多

来自分类Dev

如何使用Selenium Webdriver双击元素

来自分类Dev

如何使用Selenium WebDriver滚动到元素

来自分类Dev

如何使用Selenium WebDriver获取没有类名和ID的元素

来自分类Dev

如何使用Selenium WebDriver在滚动的动态加载网格中搜索元素?

来自分类Dev

Selenium Webdriver帮助查找元素

来自分类Dev

如何阻止Selenium Webdriver等待页面加载?

来自分类Dev

如何使用Selenium Webdriver?

来自分类Dev

如何使用Selenium Webdriver和C#获取DIV标记内具有ID的表元素的总数

来自分类Dev

Selenium Webdriver:无效的Xpath,具有使用部分ID的find元素

来自分类Dev

如何在Selenium WebDriver for Java中按索引查找元素

来自分类Dev

如何单击跨度类中的动态元素?Selenium WebDriver

来自分类Dev

使用Selenium Webdriver按类查找第n个元素

来自分类Dev

通过Python Selenium WebDriver使用javascript语句查找网络元素

来自分类Dev

Selenium Webdriver:如何找到元素的所有属性?

来自分类Dev

Python-Selenium Webdriver查找所有div节点具有相似名称的元素

来自分类Dev

Selenium WebDriver查找元素(按部分类名称)

来自分类Dev

Selenium WebDriver查找元素(按部分类名称)

来自分类Dev

使用Selenium Webdriver Java来查找ID类不清楚的元素

Related 相关文章

  1. 1

    Selenium WebDriver-当元素具有动态ID时如何获取元素的ID?

  2. 2

    使用Selenium WebDriver Java单击动态加载页面的元素

  3. 3

    如何通过Selenium、WebDriver和Python在页面中查找jQuery动态加载的元素

  4. 4

    如何使用Selenium Webdriver C#查找具有非静态ID的元素

  5. 5

    如何在Selenium Webdriver中处理动态更改的元素

  6. 6

    使用 Selenium WebDriver 按文本查找元素

  7. 7

    如何使用 selenium webdriver Firefox 查找和验证元素“标题”

  8. 8

    如何使用Selenium Webdriver查找没有id属性的div元素

  9. 9

    如何使用Selenium Webdriver查找没有id属性的div元素

  10. 10

    Webdriver / Selenium:当元素没有类名,ID或CSS选择器时如何查找?

  11. 11

    使用Selenium WebDriver在元素内查找时结果过多

  12. 12

    如何使用Selenium Webdriver双击元素

  13. 13

    如何使用Selenium WebDriver滚动到元素

  14. 14

    如何使用Selenium WebDriver获取没有类名和ID的元素

  15. 15

    如何使用Selenium WebDriver在滚动的动态加载网格中搜索元素?

  16. 16

    Selenium Webdriver帮助查找元素

  17. 17

    如何阻止Selenium Webdriver等待页面加载?

  18. 18

    如何使用Selenium Webdriver?

  19. 19

    如何使用Selenium Webdriver和C#获取DIV标记内具有ID的表元素的总数

  20. 20

    Selenium Webdriver:无效的Xpath,具有使用部分ID的find元素

  21. 21

    如何在Selenium WebDriver for Java中按索引查找元素

  22. 22

    如何单击跨度类中的动态元素?Selenium WebDriver

  23. 23

    使用Selenium Webdriver按类查找第n个元素

  24. 24

    通过Python Selenium WebDriver使用javascript语句查找网络元素

  25. 25

    Selenium Webdriver:如何找到元素的所有属性?

  26. 26

    Python-Selenium Webdriver查找所有div节点具有相似名称的元素

  27. 27

    Selenium WebDriver查找元素(按部分类名称)

  28. 28

    Selenium WebDriver查找元素(按部分类名称)

  29. 29

    使用Selenium Webdriver Java来查找ID类不清楚的元素

热门标签

归档