Селен не запускает хром в режиме без головы, независимо от того, что я делаю - PullRequest
1 голос
/ 16 июня 2019

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

И я также пытался использовать разные фрагменты кода из потоков, которые я нашел. Теперь я намеренно скопировал и вставил эти фрагменты кода не потому, что сам не могу написать его, а потому, что хотел использовать код, который должен работать на 100% (поскольку он из официальных источников), чтобы устранить эту проблему, может быть моей собственной проблемой. Что происходит с этим кодом, так это то, что он просто начинается как обычно. Весь селен работает нормально, но он не работает без головы. Я также не получаю сообщение об ошибке в консоли.

Теперь вопрос в том, упустил ли я что-то, что должен был сделать? Нужно ли устанавливать что-то настолько очевидное, что никто не упоминает об этом? Есть ли способ устранить проблему? Спасибо за все ответы!

...