Selenium使用IE无法在亚马逊上找到任何元素 - 其他页面工作正常

时间:2016-09-14 18:07:47

标签: java eclipse selenium

我目前无法在http://amazon.com

上找到任何元素

我尝试了几种不同的方法,但始终得到: 线程" main"中的例外情况org.openqa.selenium.NoSuchElementException (使用Eclipse / Java)

其他网站运行良好,在其他浏览器中我可以在亚马逊上使用Selenium而不会出现问题。我的代码如下:

File file = new File("path/IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
DesiredCapabilities capabilitiesIE = DesiredCapabilities.internetExplorer();
capabilitiesIE.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
WebDriver driver = new InternetExplorerDriver(capabilitiesIE);

driver.get("http://amazon.com");
driver.findElement(By.xpath("//input[@name='field-keywords']")).sendKeys("Test");

System.setProperty之后的两行是为了解决IE中我无法改变的安全设置。

我尝试使用所有不同的方法找到不同的字段而没有运气。等待也没有区别。

我试图找到的字段是用于输入文本的搜索栏。

感谢任何帮助或想法。

编辑: 尝试// *首先会在启动页面而不是amazon.com上运行,所以我等了一下。当我这样做时,它现在给了我以下错误:

线程中的异常" main" org.openqa.selenium.NoSuchWindowException:无法在关闭的窗口中找到元素

以下是代码的底部部分:

driver.get("http://amazon.com");
try {
    Thread.sleep(5000);
} catch (InterruptedException e) {
    e.printStackTrace();
}
List<WebElement> all = driver.findElements(By.xpath("//*"));
for(WebElement ele : all){
    System.out.println(ele.getText());
}

将以下行添加到代码后,代码工作正常:

capabilitiesIE.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "http://amazon.com"); 

所以最终的代码是这样的:

File file = new File("path/IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
DesiredCapabilities capabilitiesIE = DesiredCapabilities.internetExplorer();    capabilitiesIE.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
capabilitiesIE.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "http://amazon.com"); 
WebDriver driver = new InternetExplorerDriver(capabilitiesIE);
driver.findElement(By.xpath("//input[@name='field-keywords']")).sendKeys("Test");

1 个答案:

答案 0 :(得分:1)

添加

capabilitiesIE.setCapability(InternetExplorerDriver.INITIAL_‌​BROWSER_URL, "amazon.com"); 

安全线修好后!