java - 我无法使用 driver.findElement(By.xpath()); 找到具有 xpath 的 Web 元素

标签 java selenium selenium-webdriver

我试图在页面上找到要单击的链接:

<a id="folder0" class="js-folder icon-wrap icon-wrap_left menu__item__link menu__item__link_act menu__item__link_unread" href="/messages/inbox" rel="history">
    <span class="js-folder-b-unread js-folder-unread menu__item__link__qnt">7</span>
    <i class="js-folder-ico icon icon_left icon_folders icon_inbox_act"></i>
    <span class="menu__item__link__text menu__item__link__text_linear">Input</span>
</a>

Java代码:

driver.findElement(By.xpath(".//*[@id='folder0']/span[2]")).click();

但是驱动程序无法找到该元素:

 org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":".//*[@id='folder0']/span[2]"}

最佳答案

感谢您的所有回答。我找到了解决我的问题的方法。最后一个命令是与 IFrame 链接的命令

WebElement editorFrame = driver.findElement(By.cssSelector("#sentmsgcomposeEditor_ifr"));
   driver.switchTo().frame(editorFrame);

   WebElement body1 = driver.findElement(By.tagName("body"));
   body1.sendKeys(Keys.CONTROL + "a"); 

所以我实际上在 IFrame 中,因为它我找不到任何元素。 我执行了以下命令:

 driver.switchTo().defaultContent();

之后就可以找到定位器。

关于java - 我无法使用 driver.findElement(By.xpath()); 找到具有 xpath 的 Web 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18531811/

相关文章:

java - 为什么 final 变量不能用在 switch 语句中?

java - 在 Java 7 中并行处理结果,使用非最终变量

java - 如何使用 Spring mvc Controller 为 Angular js 制作抽象的 Restfull 基础?

python - 如何使用 Selenium 和 Python 绕过 Google 验证码?

python - 使用 Python 测试 Adob​​e Analytics Instrumentation

java - 使用 apache 和 spring 以编程方式创建子域

javascript - 如何在没有浏览器的机器上运行 cucumber 以及 Selenium 和 capybara ?

java - 无法在子类中使用 EventFiringWebDriver 对象

java - 在 Selenium 的单个窗口中更改不同页面之间的驱动程序焦点

python - 连接中止错误 : [WinError 10053] An established connection was aborted by the software in your host machine