2014-02-19 81 views
0

我试图用硒与下面的代码的帮助下,打开IE:使用硒启动IE浏览器 - 错误

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.ie.InternetExplorerDriver; 
import org.openqa.selenium.remote.DesiredCapabilities; 
import org.openqa.selenium.remote.RemoteWebDriver; 


public class seleniumtest { 

    public static void main(String[] args) { 
     System.setProperty("webdriver.ie.driver","D:/Softwares/IEDriverServer_Win32_2.39.0/IEDriverServer.exe"); 
     WebDriver driver = new InternetExplorerDriver(); 
     //System.setProperty("webdriver.chrome.driver","D:/Softwares/chromedriver_win_17.0.963.0/chromedriver.exe"); 
     //WebDriver driver = new ChromeDriver(); 

     //WebDriver driver = new RemoteWebDriver(DesiredCapabilities.chrome()); 
     //driver.get("http://www.google.com"); 

     driver.get("http://google.com"); 

    } 

} 

获取以下错误:

Exception in thread "main" org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. IELaunchURL() returned 80070005 for URL 'http://localhost:26504/' (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 1.32 seconds 
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:12:12' 
System info: host: 'ACE-PC', ip: '192.168.0.6', os.name: 'Windows Vista', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_07' 
Driver info: org.openqa.selenium.ie.InternetExplorerDriver 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193) 
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:151) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:201) 
    at org.openqa.selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.java:194) 
    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:184) 
    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:155) 
    at seleniumtest.main(seleniumtest.java:13) 

我刚才遵循以下步骤也不过它并没有帮助我:

It needs to set same Security level in all zones. To do that follow the steps below:

Open IE 
Go to Tools -> Internet Options -> Security 
Set all zones to the same protected mode, enabled or disabled should not matter. 
+0

System.setProperty( “webdriver.ie.driver”, “C:\\ IEDriverServer.exe”); DesiredCapabilities dc = DesiredCapabilities.internetExplorer(); 012.dc.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); //如果IE无法正常工作,请删除它,并从Internet选项中删除所有4个区域的启用保护模式 WebDriver driver = new InternetExplorerDriver(dc); –

+0

如果上述不起作用,请通知我 –

+0

请尝试使用最新版本的IE驱动程序。这应该可以解决问题。 – Vinay

回答

0
  • 有时管理员已阻止IE更改所需的保护模式设置。

    • 相反,您可以使用Selenium的Desired功能来启动具有设置功能的IE。
    • 以这种方式,您不依赖于管理员来更改设置
    • 可以使用下面显示的代码。

      DesiredCapabilities功能= DesiredCapabilities.internetExplorer();

      capabilities.setCapability(CapabilityType.BROWSER_NAME,“IE”);

      capabilities.setCapability(InternetExplorerDriver。 INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);

      String driverPath =“C:\ Selenium \”;

      System.setProperty(“webdriver.ie.driver”,driverPath +“IEDriverServer.exe”); WebDriver driver = new InternetExplorerDriver(capabilities); (); window()。maximize();