我正在将Browserstack的autoate API与selenium-webdriver的node软件包一起使用,以编程方式在不同的浏览器和设备上截取屏幕截图
桌面屏幕截图可以正常工作-我们进行屏幕截图,滚动,拍摄另一个屏幕截图,直到到达屏幕末端。然后一些代码将屏幕快照拼接在一起。
在Android设备上有一个问题,Browserstack截取的屏幕截图似乎包含浏览器底部栏所在的空间,但显示为空白。
根据Browserstack文档,这是我用来截屏的方法:
webdriver.WebDriver.prototype.saveScreenshot = (filename) => {
return driver.takeScreenshot().then((data) => {
fs.writeFile(
`${__dirname}/screenshots/${filename}`,
data.replace(/^data:image\/png;base64,/, ''),
'base64',
(err) => {
if (err) {
throw err;
}
},
);
});
};
通过向kiosk
对象添加--kiosk
参数,我可以在台式机Chrome浏览器中成功进入chromeOptions
模式,但是在移动设备上的Chrome中没有任何作用。 / p>
我也尝试过通过驱动程序执行脚本document.documentElement.requestFullScreen
,但是没有运气。
是否可以使用Selenium-webdriver在Android chrome上进入自助服务机模式?
还有其他方法可以可靠地以编程方式隐藏网址栏吗?