我正在使用Node.js版本8.11.3和npm版本6.9.0,以及Chrome 75.0.3770.90(最新版本)。我尝试使用Selenium打开一个无头浏览器。但是问题是,无论我尝试什么,它都不起作用。 我使用的操作系统是Windows 10版本1903(Build 18362.175)。 我已经安装了selenium(npm i selenium-webdriver),并在我的Windows PATH中正确配置了它们。没有进行任何其他的selenium准备工作。 我尝试过从不同来源找到的各种代码,以使无头模式运行。我尝试了一个示例:
let chrome = require('selenium-webdriver/chrome');
let {Builder} = require('selenium-webdriver');
let driver = new Builder()
.forBrowser('chrome')
.setChromeOptions(new chrome.Options().headless())
.build();
这里可以找到相关内容:https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/chrome.html
或者使用这段代码:
const fs = require('fs');
const webdriver = require('selenium-webdriver');
const chromedriver = require('chromedriver');
const chromeCapabilities = webdriver.Capabilities.chrome();
chromeCapabilities.set('chromeOptions', {args: ['--headless']});
const driver = new webdriver.Builder()
.forBrowser('chrome')
.withCapabilities(chromeCapabilities)
.build();
// Navigate to google.com, enter a search.
driver.get('https://www.google.com/');
driver.findElement({name: 'q'}).sendKeys('webdriver');
driver.findElement({name: 'btnG'}).click();
driver.wait(webdriver.until.titleIs('webdriver - Google Search'), 1000);
这里可以找到相关的内容:https://developers.google.com/web/updates/2017/04/headless-chrome#drivers
我也尝试了一些从stackoverflow上找到的代码片段。现在,我故意复制粘贴这些代码片段,不是因为我不能自己写,而是因为我想使用应该百分之百可行的代码(因为它来自于官方来源),以排除问题可能是我的问题的情况。 当运行该代码时,它会像正常情况一样启动。所有selenium都工作良好,但它只是没有无头运行。我在控制台中也没有收到任何错误。
现在的问题是,我错过了什么事情吗?我需要安装一些显而易见的东西吗?是否有任何方法来解决问题? 感谢所有回复!
--headless
替换为-headless
? - Ardesco