javascript - 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;
}
如果从前端解决方案也可以。
解决方案
推荐阅读
- javascript - 如何使用回溯进行面包店代码挑战?
- php - PHP str_replace() 和 preg_replace() 不适用于 HTML
- python - QAbstractTableModel 发出 dataChanged,但从未绘制更新
- java - 围绕其中一个点旋转对象
- php - 按 ID 更新数组
- swift - 来自两个视图控制器的数据添加到第三个视图控制器
- scala - 数据框分解横向视图并与数组进行比较
- cmd - 按创建日期选择文件夹
- r - R-Missing Data Analysis-extracat::visna 绘制的情节解读
- apache-kafka-streams - java.lang.NoSuchMethodError: org.apache.kafka.common.metrics.Sensor.add 卡夫卡流中的错误