【问题标题】:No such element: Unable to locate element: exception from webdriver没有这样的元素:无法找到元素:来自 webdriver 的异常
【发布时间】:2016-09-14 16:43:51
【问题描述】:

我有一个基类,其中我将 webDriver 定义为(使用 Guice)。这与下面的代码行一起定义了我的前类

    @Inject
    protected Provider<WebDriver> webDriverProvider;

    protected static WebDriver webDriver;

我有另一个在 beforesuite 之后执行的类,它有一个方法 1,我在其中为给定函数编写了测试。它看起来像这样

public void method1() throws InterruptedException {
       Thread.sleep(3000);
       log.info("Navigating to Method1");
       webDriver.findElement(By.xpath(Element1)).click();
    }

这里的问题是当行
webDriver.findElement(By.xpath(Element1)).click();

被执行我得到一个异常消息,如 org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element:

Xpath 是正确的。我在此方法之前有一个对话框,它是我之前套件的一部分

我尝试在 click 语句上方添加以下行:

webDriver.switchTo().defaultContent();

log.info(webDriver.findElement(By.xpath(Element1)).getAttribute(Element1)); webDriver.findElement(By.xpath(Element1)).isDisplayed();

问题是“webDriver”所在的第一个实例抛出异常为 NoSuchElementException

任何指针都会帮助我进一步调试它。

谢谢。

【问题讨论】:

标签: selenium selenium-webdriver


【解决方案1】:

如果您确定 Xpath 是正确的。您可以尝试增加睡眠。 正如你所说,有对话框然后检查它是否隐藏了 element1

【讨论】:

    猜你喜欢
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多