java - Selenium 重复元素标记为 ==$0

标签 java selenium google-chrome google-chrome-devtools code-inspection

如何处理 selenium 中的重复元素,其中重复元素用 ==$0 标记?

转到 www.google.com 并搜索 google 搜索按钮,我尝试过迭代器和创建列表,但是,这是处理 ==$0 的正确方法

driver.findElements(By.xpath("//input[@aria-label='Google Search']"));

我想选择第二个元素。

最佳答案

$0 - $4

$0$1$2$3$4 是对 元素面板中检查的最后五个 DOM 元素或在配置文件面板中选择的最后五个 JavaScript 堆对象的历史引用$0 返回最近选择的元素或 JavaScript 对象,$1 返回第二个最近选择的元素或 JavaScript 对象,依此类推。


在您的用例中,您已通过“元素”面板检查了 Google 搜索 按钮。因此,在控制台抽屉中,$0已被评估并显示相同的元素:

$0


有关您的用例的更多信息将有助于我们更好地回答您的问题。然而,HTML DOM 中的每个元素都可以使用 进行唯一标识。

如果您的用例是 Google 搜索任何特定术语/短语,您可以使用以下解决方案:

WebElement searchField = driver.findElement(By.name("q"));
searchField.sendKeys("user3245610");
searchField.sendKeys("Keys.RETURN");

You can find a detailed relevant discussion in How to click a random link from google search results through Selenium and Python

关于java - Selenium 重复元素标记为 ==$0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56389906/

相关文章:

Java (JNA API) - 计算基地址

java - angularjs spring Rest文件上传表单

python - 如何从 selenium 在 Chrome 中启用 "allow-insecure-localhost"标志?

java - 使用 Selenium 切换到弹出窗口

javascript - PerformanceObserver 无法测量重定向请求时间

具有高效删除(...)(或更新)的Java优先级队列

java - 禁用并替换默认 DataSourceHealthIndicator

python - 如何将 header "Access-Control-Allow-Origin"设置为 selenium Webdriver

jquery - Chrome 扩展 Ajax 调用返回 403

javascript - 从内容脚本重定向到 chrome 扩展 URL?