这是我不希望遇到的问题。 我在Ubuntu 11的eclipse上编写了一个在Eclipse中使用JUnit 4的硒Webdriver测试。我一直在使用Selenium IDE与firebug和firepath结合,以确保我在JUnit测试中指定的xpath是正确的。我遇到的问题是硒IDE的命令,Selenium WebDriver无法找到Selenium IDE可以找到的元素
command 'click' at target '//span[contains(text(),'MyTarget')]/PATHTOTARGET'
每次都通过。然而,当我使用webdriver的下面总是
driver.findElement(By.xpath("//span[contains(text(),'MyTarget')]/PATHTOTARGET")).click();
我一直使用硒IDE和硒的webdriver了几个月现在这么写了我的点击命令的份额,并从未遇到这样的失败。任何人都有一个想法可能会导致这种情况?
xpath在刷新时不会更改,每次都有效。我也试着等待页面上的所有内容加载,但没有运气。
edit1:这是由我们的应用程序的extJS上下文菜单的工作方式引起的问题。如果您从上下文菜单中选择了一个项目,我们的应用程序会做一些工作,导致上下文菜单退出硒的焦点。在选择一个新的菜单项之前添加一个刷新,然后延长等待效果最好。
什么是隐式等待设置?顺便说一下,如果你遇到困难,你总是可以从'WebDriver'中检索完整的页面源代码。 – biziclop
感谢您的评论!隐式等待设置为30秒。我将研究如何从WebDriver查看页面源代码。 – OrwellHindenberg
它是'WebDriver.getPageSource()',应该与'FirefoxDriver'一起工作 – biziclop