没有这样的元素:无法找到元素:来自webdriver的异常

时间:2016-09-14 16:43:52

标签: selenium selenium-webdriver

我已经在基类中将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(部件1))点击()。

执行

我得到一个异常消息,如org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:

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

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

webDriver.switchTo().defaultContent();

log.info(webDriver.findElement(By.xpath(元素1))的getAttribute(元素1)。);          webDriver.findElement(By.xpath(元素1))isDisplayed();

问题是&#34; webDriver&#34;找到它会抛出异常作为NoSuchElementException

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

感谢。

1 个答案:

答案 0 :(得分:0)

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