Сообщение: исполняемый файл chromedriver должен находиться в PATH при выполнении python selenium на веб-сервере - PullRequest
0 голосов
/ 11 мая 2018

У меня есть скрипт на python для очистки селеном.Все идет хорошо на моем местном ноутбуке.Но когда я помещал этот файл python на веб-сервер, он всегда имел ошибки о селене, и теперь я не могу выполнить успешно из-за

Traceback (most recent call last):
  File "test_availability.py", line 32, in <module>
    driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, chrome_options=chrome_options)
  File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 68, in __init__
    self.service.start()
  File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 83, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: 
  Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

Но я поместил chromedriver в то же место, гдеchromedriver на моем локальном ноутбуке на веб-сервере.И ошибка появляется.Я перепробовал много способов, но эта ошибка все еще существует.

Я положил chromedriver в /usr/local/bin на веб-сервере. Мой вопрос отличается от selenium.common.exceptions.WebDriverException: Сообщение: 'chromedriver'Исполняемый файл должен быть с ошибкой PATH в Headless Chrome Поскольку я уже использовал метод из принятого acswer, но там все еще отображается ошибка

Мне нужно запустить файл python на веб-сервере.Ниже приведены мои коды:

CHROMEDRIVER_PATH = "/home/animalsp/public_html/maps/maps2/chromedriver"
WINDOW_SIZE ="1920,1080"
chrome_options = Options() 
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=%s" % WINDOW_SIZE)

driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, chrome_options=chrome_options)
driver.get("https://na.chargepoint.com/charge_point")

И я даже попробовал это с Firefox.Ниже приведены мои коды с Firefox:

FIREFOXDRIVER_PATH ="/home/animalsp/public_html/maps/maps2/geckodriver"
WINDOW_SIZE ="1920,1080"
firefox_options = Options() 
firefox_options.add_argument("--headless")
firefox_options.add_argument("--window-size=%s" % WINDOW_SIZE)

driver = webdriver.Firefox(executable_path=FIREFOXDRIVER_PATH, firefox_options=firefox_options)
driver.get("https://na.chargepoint.com/charge_point")

Может ли кто-нибудь помочь мне с этим?Любой ответ будет оценен!

Selenium 3.12.0

python 3.6.5

Chrome 66.0

Chromedriver 2.3.8

Firefox 60

geckodriver v0.20.1

1 Ответ

0 голосов
/ 16 мая 2018

Вам нужно поместить исполняемый файл chromedriver в тот же каталог, в котором вы запускаете скрипт, и измените свой chrome_path следующим образом:

import os
chrome_path = os.path.realpath('chromedriver')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...