Невозможно запустить chromedriver, используя Python и селен в cloud9 & aws - PullRequest
2 голосов
/ 27 июня 2019

Я попытался выполнить очистку, используя python и selenium в cloud9 и aws lambda, однако, кажется, что есть некоторая проблема в (пути) chromedriver, и он не работает. мой код:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def lambda_handler(event, context):
    options = Options()
    options.add_argument('--headless')
    path = '/home/ec2-user/environment/testHW/chromedriver.exe'
    url = 'https://www.google.com'
    driver = webdriver.Chrome(executable_path=path, chrome_options=options)
    driver.get(url)
    driver.save_screenshot('screenshot.png')

и я поместил хромедривер в соответствующее место. Тем не менее, я получил сообщение об ошибке, как показано ниже:

Response
    {
        "errorMessage": "Message: 'chromedriver.exe' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home\n",
        "errorType": "WebDriverException",
        "stackTrace": [
            [
                "/var/task/testHW/lambda_function.py",
                11,
                "lambda_handler",
                "driver = webdriver.Chrome(executable_path=path, chrome_options=options)"
            ],
            [
                "/var/task/selenium/webdriver/chrome/webdriver.py",
                73,
                "__init__",
                "self.service.start()"
            ],
            [
                "/var/task/selenium/webdriver/common/service.py",
                83,
                "start",
                "os.path.basename(self.path), self.start_error_message)"
            ]
        ]
    }

    Function Logs
    Message: 'chromedriver.exe' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
    : WebDriverException
    Traceback (most recent call last):
      File "/var/task/testHW/lambda_function.py", line 11, in lambda_handler
        driver = webdriver.Chrome(executable_path=path, chrome_options=options)
      File "/var/task/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
        self.service.start()
      File "/var/task/selenium/webdriver/common/service.py", line 83, in start
        os.path.basename(self.path), self.start_error_message)
    selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

    Request ID
    82bcf27f-255e-431d-ae13-6a0efba8d69a

Кто-нибудь может подсказать, в чем проблема?

1 Ответ

1 голос
/ 29 июня 2019

Сообщение: исполняемый файл chromedriver.exe должен находиться в переменной PATH.Эта ошибка означает, что ему нужен исполняемый путь

из вашей структуры каталогов, похоже, вы используете linux base os.перейдите по этой ссылке и загрузите chromedriver для linux.

Откройте каталог, в котором находится chromedriver. Теперь откройте терминал и введите следующую команду, чтобы разрешить выполнение исполняемого файла для chromedriver.

sudo chmod +x chromedriver

Надеюсь, это сработает.

...