找不到 Xpath for Google 主页文本区域或输入法

Unable to Find the Xpath for Google Home Page textarea or Input

提问人:Ezhumalai Shanmugam 提问时间:7/17/2023 最后编辑:ShawnEzhumalai Shanmugam 更新时间:7/17/2023 访问量:66

问:

找不到 XPath for google 主页 - 搜索框。

  1. 打开 Chrome 浏览器
  2. 检查 Chrome 浏览器上的默认 Google 搜索框 参考图片

参考图片,我们必须为Google文本区域或搜索框编写Xpath

driver.findElement(By.Xpath(//input[@id='input'])).sendkeys("testing");

一旦我们在搜索区域输入文本,谷歌就会根据文本提供建议,我们必须打印控制台建议的文本。

我尝试了多种方法来查找 XPath 但 Match 元素在网页上甚至没有显示元素存在。

  1. By.Id('input');
  2. By.Xpath("//input[@id='input']");
  3. By.cssSelector("input#input");
  4. By.Xpath("/html/body/ntp-app//div/div[1]/ntp-realbox//div/inputb");

但是元素没有找到。

selenium-ide selenium-grid xpath-2.0

评论


答:

0赞 Yaroslavm 7/17/2023 #1

你无法得到它,因为元素被放置在 shadow-root 中,而 shadow-root 被放置在 shadow-root 中。

参考

Java 中到达输入的代码示例

WebElement shadowRoot = driver.findElement(new By.ByTagName("ntp-app")); ;
JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement insideShadowInput = (WebElement) js.executeScript("return arguments[0].shadowRoot.querySelector('ntp-realbox').shadowRoot.querySelector('#input');", shadowRoot);
insideShadowInput.sendKeys("testing");