无法评估xpath的Selenium 2.0 WebDriver IE8 findelement

时间:2012-01-12 19:55:35

标签: internet-explorer xpath selenium webdriver

当我在Firefox中运行以下代码时,它运行正常,但在IE8中,它表示无法评估xpath或不会产生WebElement。

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

OR

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

我尝试过替换xpath“// div [@ id ='parameters'] / table / tbody / tr [4] / th / input”但它给出的结果相同。

在我看来,这是一个IE驱动程序问题,如果有解决方法,请告诉我。

2 个答案:

答案 0 :(得分:4)

你能尝试如下吗?

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

对于IE没有本机XPath支持,WebDriver使用名为javascript-xpath的第三方库,这可能是它的错误。

答案 1 :(得分:1)

IE 8需要在selenium web driver中强制使用前3行

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

   WebDriver webDriver= new InternetExplorerDriver(ieCapabilities);

请按ID更改Xpath:

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