gpt4 book ai didi

java - 即使 xpath 相同,如何识别 Selenium 中的元素

转载 作者:行者123 更新时间:2023-11-29 05:22:08 24 4
gpt4 key购买 nike

我是 selenium 的新手,正在尝试在 junit 框架中自动化 Web 应用程序。许多人在识别 Web 元素时遇到了一些问题,我也遇到了两个提交按钮具有相同的 xpath 和 css 选择器的问题。

我能观察到的唯一区别是..在两个表单标签中,我可以看到 className 不同(对于第一个表单标签,它是 "feature_space_checkbox",对于第二个表单标签,它是“auto_fs_steps_checkbox”)

因为,我需要识别第二个提交按钮..所以我尝试如下识别第二个提交按钮

driver.findElement(new ByChained(By.className("auto_fs_steps_checkbox"),By.xpath("//*[@id='edit_brochure_2863']/input[3]")));

当我尝试执行此操作时,出现错误

org.openqa.selenium.NoSuchElementException: Cannot locate an element using By.chained({By.className: auto_fs_steps_checkbox,By.xpath: //*[@id='edit_brochure_2863']/input[3]})

谁能纠正我错误的地方

为此场景添加 DOM

<form action="/brochures/2865/feature_space_checked" class="feature_space_checkbox" id="edit_brochure_2865" method="post"><div style="margin:0;padding:0">
<input name="commit" type="submit" value="Submit">
</form>

第二个提交按钮是..

<form action="/brochures/2865/update_auto_fs_steps" class="auto_fs_steps_checkbox" id="edit_brochure_2865" method="post"><div style="margin:0;padding:0">
<input name="commit" type="submit" value="Submit">
</form>

最佳答案

首先,XPath 和 CSS 选择器不是确定的。页面上的每个元素都有许多 XPath 和 CSS,因此说它们具有相同的 Xpath 和 CSS 选择器是不正确的。

对于您的示例,是否需要使用 XPath 或组合两个选择器?

以下 CSS 可以工作;

form.auto_fs_steps_checkbox input

关于java - 即使 xpath 相同,如何识别 Selenium 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24278998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com