2014-02-19 80 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();