首页 > 解决方案 > Selenium with headless chrome,window.chrome 未定义

问题描述

我正在针对仅支持 Chrome 和 Firefox 的网络运行 selenium 测试。如果您使用的是其他浏览器,您将无能为力。

这就是前端检查浏览器的方式。

  var isChrome = !!this.$window.chrome && !!this.$window.chrome.webstore;
  var isFirefox = typeof InstallTrigger !== 'undefined';
  if(!isChrome && !isFirefox) {
    this.toastservice.error(<browser not supported code>);
  }

问题是 chrome 无头 $window.chrome 没有价值,而且前端显然没有将其检测为 chrome。知道如何超越这个吗?

我以这种方式启动 webdriver:

public WebDriver getWebDriver() {
    ChromeDriverManager.getInstance().version("2.37").setup();
    ChromeOptions options = new ChromeOptions();

    if (BROWSER.equals("HEADLESS_CHROME")){
        options.setHeadless(true);
        options.addArguments("window-size=1920,1080");
        options.addArguments("hide-scrollbars");            
    }       
    webDriver = new ChromeDriver(options);

    return webDriver;
}

如果从前端解决方案也可以。

标签: javascriptjavaseleniumgoogle-chrome

解决方案


推荐阅读