2

我收到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

回答

0

手動執行

爲所有區域設置相同的安全級別。試試這個步驟

  • 打開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

0

除了設置啓用或全部4個區域禁用保護模式,你需要設置Internet Explorer中的縮放比例爲100%。

相關問題