如何处理 selenium 中的重复元素,其中重复元素用 ==$0
标记?
转到 www.google.com 并搜索 google 搜索按钮,我尝试过迭代器和创建列表,但是,这是处理 ==$0
的正确方法
driver.findElements(By.xpath("//input[@aria-label='Google Search']"));
我想选择第二个元素。
最佳答案
$0 - $4
$0
、$1
、$2
、$3
和 $4
是对 google-chrome-devtools 元素面板中检查的最后五个 DOM 元素或在配置文件面板中选择的最后五个 JavaScript 堆对象的历史引用。 $0
返回最近选择的元素或 JavaScript 对象,$1
返回第二个最近选择的元素或 JavaScript 对象,依此类推。
在您的用例中,您已通过“元素”面板检查了 Google 搜索 按钮。因此,在控制台抽屉中,$0
已被评估并显示相同的元素:
有关您的用例的更多信息将有助于我们更好地回答您的问题。然而,HTML DOM 中的每个元素都可以使用 css-selectors 或 xpath 进行唯一标识。
如果您的用例是 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/