当我在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驱动程序问题,如果有解决方法,请告诉我。
答案 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();