Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: unable to discover open page
浏览器正在打开,但所需的网页未打开&浏览器在5秒内关闭。 在此之后,异常显示在IDE中。 附上浏览器This is how the browser looks when it opened
的屏幕截图尝试卸载(也删除了用户数据)&重新安装chrome,但是没有工作:(
使用 JDK 8,
selenium 3.6.0 for Java,
chrome browser-latest version,
镀铬驱动程序 - 不确定(可能是2.31)
我的代码
package newPackage;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class MyClass {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\\ChromeDriver_Selenium\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://google.com");
}
}
OUTPUT我看到了
Starting ChromeDriver (v2.3) on port 20165
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: unable to discover open pages
(Driver info: chromedriver=2.3,platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 20.55 seconds
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T16:15:26.402Z'
System info: host: 'DESKTOP-9KFNBI3', ip: '192.168.0.104', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144'
Driver info: driver.version: ChromeDriver
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:214)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$24(ProtocolHandshake.java:359)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.Spliterators$ArraySpliterator.tryAdvance(Unknown Source)
at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.findFirst(Unknown Source)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:362)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:136)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:586)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:217)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:140)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
at newPackage.MyClass.main(MyClass.java:10)
答案 0 :(得分:0)
问题可能是由于您的Chrome驱动程序。
获取Chrome驱动程序并在代码中设置路径并再次尝试使用您的代码。让我知道您是否能够克服此问题。
使用以下链接获取最新版本的chrome驱动程序(2.33)
来自谷歌:
https://sites.google.com/a/chromium.org/chromedriver/downloads
[OR]
来自Selenium下载:
http://www.seleniumhq.org/download/
答案 1 :(得分:0)
经过一些实验,我同意确保chromedriver可执行文件在您的路径上。您可能会发现系统属性的设置可能是不必要的。
答案 2 :(得分:0)
我的代码中没有看到任何此类错误。
您观察到的错误是由于Versioning
不匹配造成的。您正在使用Selenium v3.6.0
和chromedriver v2.3
(这是相当古老的)并且不兼容。
当您使用最新版本的Selenium,即v3.6.0时,我建议您使用chromedriver v2.32
或最新的chromedriver v2.33
答案 3 :(得分:0)
您使用的是旧版ChromeDriver,因此它与Selenium jar 3.6.0和浏览器不兼容,使用更新的ChromeDriver并解决了这些问题。
当您的ChromeDriver不支持浏览器时,会出现此问题。从此Link下载最新的ChromeDriver。
或
您可以降低适用于ChromeDriver 2.31
的Chrome浏览器答案 4 :(得分:0)
将Chrome驱动程序更新为最新版本