Драйвер PhantomJS не может создать сеанс на NodeJS и Selenium

#javascript #node.js #selenium-webdriver #phantomjs

Вопрос:

У меня есть приложение, которое отлично работает с Chrome, и я хотел перейти на PhantomJS, чтобы оно работало быстрее, так как оно должно проходить через множество URL-адресов.

 const driver = new Builder()
  .forBrowser("chrome")
  .usingServer("http://localhost:4444/wd/hub")
  .build();
 

Этот код для создания моего драйвера отлично работает chrome , но при замене chrome на phantomjs я получаю следующую ошибку:

 SessionNotCreatedError: Unable to create session from {
  "desiredCapabilities": {
    "browserName": "phantomjs"
  },
  "capabilities": {
    "firstMatch": [
      {
        "browserName": "phantomjs"
      }
    ]
  }
}
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: '', ip: '192.168.56.1', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_301'
Driver info: driver.version: unknown
    at Object.checkLegacyResponse (C:Users\Desktop\node_modulesselenium-webdriverliberror.js:553:15)
    at parseHttpResponse (C:Users\Desktop\node_modulesselenium-webdriverlibhttp.js:635:13)
    at Executor.execute (C:Users\Desktop\node_modulesselenium-webdriverlibhttp.js:569:28)
    at processTicksAndRejections (node:internal/process/task_queues:94:5) {
  remoteStacktrace: ''
}
 

Я также скачал и поместил PhantomJS.exe исполняемый файл в свой каталог

Комментарии:

1. Почему вы решили использовать phantomjs, а не безголовый ChromeDriver?

2. Я забыл, что это было возможно, как мне установить chrome без головы?

3. Установка ChromeDriver в безголовый режим выполняется путем установки параметров драйвера в безголовый. Точный синтаксис зависит от используемого языка