硒无论如何我都不会在无头模式下启动chrome

时间:2019-06-15 23:17:34

标签: node.js selenium selenium-webdriver selenium-chromedriver google-chrome-headless

im使用nodejs版本8.11.3和npm版本6.9.0以及chrome版本75.0.3770.90(最新)。我试图用硒打开无头铬。但是问题是,无论我尝试什么,都行不通。 我正在使用Windows 10版本1903(内部版本18362.175)。 我已经安装了硒(npm i selenium-webdriver),并在我的Windows PATH中正确配置了它们。硒没有其他用途。 我尝试使用从不同来源在线找到的各种代码来运行无头模式。我尝试过的一个示例:

 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

Ive还尝试使用来自我发现的stackoverflow线程的不同代码段。现在,我故意复制粘贴了这些代码片段,这不是因为我自己不能自己写,而是因为我想使用应该100%正常工作的代码(因为它来自官方来源)来消除此问题可能是我自己的问题。 该代码所发生的是,它只是正常启动。所有的硒都可以正常工作,但它并非没有生气。我也没有在控制台中收到错误。

现在的问题是,我想念我应该做的事情吗?我是否需要安装显而易见的东西而没人提及?有什么方法可以解决此问题? 感谢所有答复!

1 个答案:

答案 0 :(得分:0)

尝试此解决方案我在CI Gitlab中以无头铬的形式运行硒。我希望这会有所帮助

 driver = await new Builder()
    .forBrowser('chrome')
    .setChromeOptions(new chrome.Options().addArguments(['--headless','--no-sandbox', '--disable-dev-shm-usage']))
    .build();

我还在我的脚本中添加了这些内容以运行:

"confidence-check": "wdio wdio.conf.js",
"automate-testing": "npm run confidence-check --host=selenium__standalone-chrome",
"automate-ci": "start-server-and-test start http://localhost:3000 automate-testing"

您只需要在根目录中设置wdio.conf.js文件

相关问题