获取org.openqa.selenium.remote.SessionNotFoundException对于IE驱动程序

问题描述:

我收到org.openqa.selenium.remote.SessionNotFoundException:会话null不存在异常,而试图通过IE驱动程序打开google.com。获取org.openqa.selenium.remote.SessionNotFoundException对于IE驱动程序

我的代码如下:

public class Google { 
     static WebDriver obj; 

     public static void main(String[] args) { 
      // TODO Auto-generated method stub 
      String browser = "ie"; 

      if (browser.equalsIgnoreCase("chrome")) { 
       System.setProperty("webdriver.chrome.driver", "E:\\Selenium\\Selenium Prerequisites\\chromedriver.exe"); 
       obj = new ChromeDriver(); 

      } else if (browser.equalsIgnoreCase("firefox")) { 
       obj = new FirefoxDriver(); 
      } 
      else if (browser.equalsIgnoreCase("ie")){ 
       System.setProperty("webdriver.ie.driver", "E:\\Selenium\\Selenium Prerequisites\\IEDriverServer.exe"); 
       obj = new InternetExplorerDriver(); 

      } 
      else 
       System.out.println("invalid browser name"); 

      obj.get("https:\\google.com"); 

     } 

    } 

请让我知道我在哪里丢失的,我使用的IE浏览器V11,硒的webdriver v2.53.1,IEDriverServer V3.6.0 32位。

下面是完整的除外,我得到(请注意,如果我切换到硒webdriver的3.6版,那么就没有问题,代码是可以正常使用)

开始InternetExplorerDriver服务器(64位) 3.6.0.0 正在监听端口37910 只允许本地连接 线程“main”中的异常org.openqa.selenium.remote.SessionNotFoundException:会话null不存在(WARNING:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:0毫秒 Build info:'2.53.1',revision:'a36b8b1cd5757287168e54b817830adce9b0158d',time:'2016-06-30 19:26:09' 系统信息:host:'SHAN',ip:'192.168.1.6', os.name:'Windows 10',os.arch:'amd64',os.version:'10 .0',java.version:'1.8.0_144' 驱动程序信息:org.openqa.selenium.ie.InternetExplorerDriver 功能[ {capabilities = {acceptInsecureCerts = false,browserVersion = 11,se:ieOptions = {nativeEvents = true,browserAttachTimeout = 0,ie.ensureCleanSession = false,elementScrollBehavior = 0,enablePersistentHover = true,ie.browserCommandLineSwitches =,ie.forceCreateProcessApi = false, requireWindowFocus = false,initialBrowserUrl = http://localhost:37910/,ignoreZoomSetting = false,ie.fileUploadDialogTimeout = 3000,ignoreProtectedModeSettings = false},browserName = Internet Explorer,pageLoadStrategy = normal,unhandledPromptBehavior = dismiss,platformName = windows,setWindowRect = true},sessi ONID = 280ec1bf-328C-42f6-8f46-e5e7a1dc47f5,平台= ANY}] 会话ID:空 在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62 ) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在org.openqa.selenium.remote.ErrorHandler.createThrowable(的ErrorHandler的.java:206) 在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678) 在org.openqa .selenium.remote.RemoteWeb Driver.get(RemoteWebDriver.java:316) 在webDriverInitialTest.Google.main(Google.java:54)

下面是从IE安全标签的屏幕截图。

enter image description here

enter image description here

enter image description here

enter image description here

感谢。

+0

确保您已完成IE中的所有设置,如缩放级别和安全设置。如果没有,那么首先配置并尝试 – NarendraR

+0

@NarendraR,您正在讨论哪些安全设置。我对硒很陌生,所以没有什么知识。你能不能让我知道你在说什么?我上面的代码完全适用于Chrome和Firefox,但只能在IE中获得问题。 – Shan

+0

了望这里http://www.seleniumeasy.com/selenium-tutorials/how-to-run-webdriver-in-ie-browser – NarendraR

手动执行

为所有区域设置相同的安全级别。试试这个步骤

  • 打开Internet Explorer浏览器
  • 进入菜单,打开工具 - > Internet选项 - >安全
  • 设置区域(互联网,本地Intranet,受信任的站点,受限制的站点)来的所有值相同的保护模式,启用或禁用应该没有关系
  • 点击确定。

或使用该

DesiredCapabilities IEcaps = DesiredCapabilities.internetExplorer(); 

IEcaps .setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 

WebDriver driver = new InternetExplorerDriver(IEcaps); 
+0

我已经尝试了两种方法,但得到相同的例外 – Shan

+0

奇怪,让我检查aganin – iamsankalp89

+0

我添加了屏幕截图o安全选项卡以及问题,请检查。 – Shan

除了设置启用或全部4个区域禁用保护模式,你需要设置Internet Explorer中的缩放比例为100%。