当我在Firefox中运行以下代码时,它会正确运行,但在IE8中,它表示无法评估xpath或不会生成WebElement。
webDriver.findElement(By.xpath("//input[@id='submitForm']")).sendKeys("n");
或
webDriver.findElement(By.xpath("//input[@id='submitForm']")).click();
我尝试了另一种xpath"//div[@id='parameters']/table/tbody/tr[4]/th/input",但它给出了相同的结果。
在我看来,这是IE驱动程序的问题,请让我知道是否有解决办法。
你能试试下面的方法吗?
webDriver.findElement(By.xpath("//input[string(@id)='submitForm']")).click()
由于IE没有本地XPath支持,WebDriver为此使用了一个名为javascript-XPath的第三方库,这可能是它的一个缺陷。
IE 8需要硒web驱动程序中的前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();