2012-01-12 69 views
5

當我在Firefox中運行以下代碼時,它運行正常,但在IE8中它說xpath無法評估或不會導致WebElement。Selenium 2.0 WebDriver IE8 findelement by xpath無法評估

webDriver.findElement(By.xpath("//input[@id='submitForm']")).sendKeys("\n"); 

OR

webDriver.findElement(By.xpath("//input[@id='submitForm']")).click(); 

我試圖替代的xpath 「// DIV [@ ID = '參數'] /表/ tbody的/ TR [4]/TH /輸入」,但它給出相同結果。

在我看來,這是一個IE驅動程序的問題,請讓我知道如果有工作。

+0

誰能告訴我,究竟上述錯誤背後的原因是什麼?我只能在IE中看到它。 – Shiv 2015-06-02 20:21:26

回答

4

您可以嘗試如下嗎?

webDriver.findElement(By.xpath("//input[string(@id)='submitForm']")).click() 

對於IE沒有本地的XPath支持,webdriver的使用一個名爲javascript-xpath這個第三方庫,這可能是一個bug。

1

IE 8需要硒的網絡驅動器

DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer(); 
    ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); 

    WebDriver webDriver= new InternetExplorerDriver(ieCapabilities); 

這前3行強制請更改的Xpath通過編號:

webDriver.findElement(By.id("submitForm")).click();