我在尝试通过 IE 驱动程序打开 google.com 时收到 org.openqa.selenium.remote.SessionNotFoundException: session null 不存在异常。
我的代码如下:
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、selenium webdriver v2.53.1、IEDriverServer v3.6.0 32bit。
下面是我得到的完整异常(请注意,如果我切换到 selenium webdriver v3.6,那么没有问题并且代码运行良好):
Started InternetExplorerDriver server (64-bit)
3.6.0.0
Listening on port 37910
Only local connections are allowed
Exception in thread "main" org.openqa.selenium.remote.SessionNotFoundException: session null does not exist (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
System info: host: 'SHAN', ip: '192.168.1.6', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{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}, sessionId=280ec1bf-328c-42f6-8f46-e5e7a1dc47f5, platform=ANY}]
Session ID: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:316)
at webDriverInitialTest.Google.main(Google.java:54)
以下是 IE 安全选项卡的屏幕截图。
谢谢。