这是我的代码,我希望实现相同的功能,但使用隐藏的浏览器窗口。
var webdriver = require('selenium-webdriver');
var chrome = require('selenium-webdriver/chrome');
var path = require('chromedriver').path;
var service = new chrome.ServiceBuilder(path).build();
chrome.setDefaultService(service);
var driver = new webdriver.Builder()
.withCapabilities(webdriver.Capabilities.chrome())
.build();
driver.get('https://pk.linkedin.com/in/mahad-waseem-263a06ba');
driver.getTitle().then(function(title){
console.log(title);
});
答案 0 :(得分:1)
如果您在进行开发的同一环境中运行浏览器,但我不知道如何执行此操作,但有三种方法可以让您隔离浏览器:
设置第二台PC
设置虚拟机
使用the Selenium Docker images在Docker容器中运行浏览器
这三个解决方案有一个共同点:它们在与开发环境隔离的环境中运行浏览器并且无头,因此您无需在桌面上打开和关闭浏览器窗口。< / p>
在这三个中,我更喜欢第三个,原因有两个:
最后一点可能是最有趣的:您可能熟悉Selenium Grid,这是一个可以并行运行针对不同浏览器的测试的系统。我一直对它感兴趣,但是直到最近它看起来像是一个太大的项目来设置它 - 你需要一个网格主机,以及你想要测试的浏览器的单独主机。好了,多亏了Docker,可以在一台主机上完成所有操作。我目前正在使用Selenium Grid Hub Docker image同时测试Chrome和Firefox,所有这一切都来自我的开发机器。