我已经在基类中将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
任何指针都可以帮助我进一步调试它。
感谢。
答案 0 :(得分:0)
如果你确定Xpath是对的。您可以尝试添加更多睡眠。 如你所说有对话框,然后检查它是否隐藏了element1