【问题标题】:webpage not opening in chrome with selenium using java网页没有在使用 java 的 selenium 中打开
【发布时间】:2017-10-08 18:17:40
【问题描述】:
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,

用于 Java 的硒 3.6.0,

chrome浏览器-最新版,

chrome驱动-不确定(可能是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"); 
  }
}

我看到的输出

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)

【问题讨论】:

  • 更新 google chrome driver to 2.33 version 并检查。

标签: selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

问题可能与您的 chrome 驱动程序有关。
获取 chrome 驱动程序并在您的代码中设置路径,然后重试您的代码。如果您能够解决此问题,请告诉我。

使用以下链接获取最新版本的 chrome 驱动程序(2.33)
来自谷歌: https://sites.google.com/a/chromium.org/chromedriver/downloads
[或]
从 Selenium 下载: http://www.seleniumhq.org/download/

【讨论】:

    【解决方案2】:

    经过一些实验,我同意确保 chromedriver 可执行文件在您的路径上。您可能会发现系统属性的设置可能是不必要的。

    【讨论】:

      【解决方案3】:

      我在您的代码中没有看到任何此类错误。

      您观察到的错误是因为 Versioning 不匹配。您正在使用 Selenium v3.6.0chromedriver v2.3(很旧)并且不兼容。

      解决方案:

      由于您使用的是最新版本的 Selenium,即 v3.6.0,我建议您使用 chromedriver v2.32 或最新的 chromedriver v2.33

      【讨论】:

        【解决方案4】:

        您使用的是非常旧的 ChromeDriver 版本,因此它与 Selenium jars 3.6.0 和浏览器不兼容,使用更新的 ChromeDriver 即可解决这些问题。

        当您的 ChromeDriver 不支持浏览器时会出现此问题。从此Link下载最新的ChromeDriver。

        您可以降级兼容 ChromeDriver 2.31 的 Chrome 浏览器

        【讨论】:

          【解决方案5】:

          将您的 Chrome 驱动程序更新到最新版本

          【讨论】:

            猜你喜欢
            • 2017-12-12
            • 1970-01-01
            • 2015-09-14
            • 1970-01-01
            • 2018-02-24
            • 1970-01-01
            • 2015-04-10
            • 1970-01-01
            相关资源
            最近更新 更多