Правильно ли настраивать Selen-WebDriver Geckodriver на Ubuntu 18.04? - PullRequest
0 голосов
/ 08 октября 2018

Я выполняю определенную работу по очистке с селеном на узле, и код успешно выполняется на моем локальном Mac.Однако я пытаюсь сделать то же самое на демонстрационном экземпляре Google Compute vm, и я не уверен, как правильно настроить geckodriver.Может кто-нибудь подсказать мне?

Вот такой вывод я получаю:

/home/dee_m316/node_modules/selenium-webdriver/firefox:1
(function (exports, require, module, __filename, __dirname) { ELF
                                                              ^
SyntaxError: Invalid or unexpected token
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:617:28)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/dee_m316/node_modules/selenium-webdriver/index.js:32:17)

Код в порядке, но я чувствую, что он пытается прочитать мой geckodriver в виде файла вместо исполняемого файла иликакая-то такая проблема.Его или это или не на моем пути.

code /

const {Builder, By, Key, until} = require('selenium-webdriver');
var sleep = require('sleep');
const firefox = require('selenium-webdriver/firefox');

  const screen = {width: 640, height: 480}; //size of headerless browser
  let driver = await new Builder().forBrowser('firefox').setFirefoxOptions(new firefox.Options().headless().windowSize(screen)).build(); //for headerless mode

Моя ОС - это Ubuntu 18.04.

My code runs in the /home/dee_m316/j.js #directory. На этом же уровне находится скрипт geckodriver, и он скопирован в:

/home/dee_m316/node_modules/selenium-webdriver/geckodriver
/home/dee_m316/node_modules/selenium-webdriver/firefox
/home/dee_m316/node_modules/selenium-webdriver/firefox.exe

Я пробовал:

export PATH="$PATH":/home/dee_m316/node_modules/selenium-webdriver/

и

node j.js --binary /home/deep_m316/node_modules/selenium-webdriver/firefox.exe

, но ошибка та же.Что не так?

1 Ответ

0 голосов
/ 10 октября 2018

firefox.exe - это имя двоичного файла Firefox, созданного для Windows ... вы пытаетесь запустить его в системе Linux.

Решение заключается в использовании соответствующих версийFirefox и geckodriver для вашей платформы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...