使用Selenium在节点上的WebDriverJs进行屏幕截图的正确语法

使用Selenium的webdriverjs运行webdrivertesting时,截取屏幕截图的正确方法是什么?

我已经启动了独立的selenium服务器,我可以看到在selenium服务器上logging截图的命令,但屏幕截图没有被保存。

我的代码如下:

var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder().usingServer('http://localURL:4444/wd/hub').withCapabilities({'browserName': 'chrome'}).build(); driver.get([URL to webserver on my local machine]) driver.takeScreenshot("c:\\selenium_local_map\\out1.png"); 

采取截图返回一个承诺,将解决一个Base64编码的PNG。 要写入数据,您需要执行以下操作:

 function writeScreenshot(data, name) { name = name || 'ss.png'; var screenshotPath = 'C:\\selenium_local_map\\'; fs.writeFileSync(screenshotPath + name, data, 'base64'); }; driver.takeScreenshot().then(function(data) { writeScreenshot(data, 'out1.png'); }); 

更多文档可以在这里find