這是我不希望遇到的問題。 我在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