I have tried to perform scraping using python and selenium in cloud9 and aws lambda, however, it seems there is some problem in (path of) chromedriver and it does not run. my code is;
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')
and I have put chromedriver in the corresponding location. However, I have got an error message as below;
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
Could anyone suggest what is the problem?