Selenium Chromedriver 开启隐藏及版本兼容

Selenium Chromedriver Starts Hidden and Version Compatibility

我正在尝试在 Chrome 浏览器上执行 Selenium 测试用例。当我 运行 Chrome 上的测试用例时,Chrome 浏览器打开(在后台)并且测试用例如预期的那样 运行。问题是,虽然 运行 测试用例,Chrome 浏览器并未显示为活动 window,下面是我在控制台中获得的文本:

Starting ChromeDriver 2.22.397929 (fb72fb249a903a0b1041ea71eb4c8b3fa0d9be5a) on port 28568
Only local connections are allowed.

使用的版本: Chrome浏览器:51.0.2704.103, ChromeDriver: 2.22, Selenium 独立服务器:2.53.0, IDE:Mac

上的 IntelliJ

下面是我用于 chrome 浏览器的代码:

case "Chrome": {
                System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver");
                driver = new ChromeDriver();
                driver.manage().window().maximize();
                break;
            }

以下是POM.xml详情:

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.53.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>2.53.0</version>
    </dependency>
</dependencies>

相同的测试用例在 Firefox (43.0) 上运行良好。 如果我做错了什么或者我是否必须更改我正在使用的版本,请告诉我。提前致谢!!

让我们把一些事情弄清楚:

  1. 如果您想检查您的 chromedriver 和 Chrome 的兼容性,您可以在最新的 chromedriver notes 中阅读。
  2. 您不需要 selenium-server 之间的兼容性,因为您没有使用它,您使用的是本地 chromedriver,它与 Chrome 版本而不是 Selenium jar 更相关。
  3. 您发布的控制台输出很好,它是启动 chromedriver 的预期日志。

    Starting ChromeDriver 2.22...

您在评论 (-Dwindow.hide=false) 中添加的内容的另一种解决方案可能是在 chromedriver 的 DesiredCapabilities 中使用 属性 或 ChromeOptions:

ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver = new ChromeDriver(capabilities);

您可以使用这些选项much more