I am trying to add Chromedriver inside an executable in pyinstaller. While this is possible it seems that I get the below error message when trying to run this on another computer.
I have tried a number of posts including this one, but unfortunately, this has not provided desired results. Best case was I could run it on my own computer when chrome exe was in the same folder which was unhelpful.
Code 1:
Main.py
from selenium import webdriver
driver = webdriver.Chrome()
What I get when running on another pc:
Error 1:
Cannot find Chrome Path
C:UsersAperture ScienceDesktop1>123.exe
Traceback (most recent call last):
File "site-packagesseleniumwebdrivercommonservice.py", line 74, in start
File "subprocess.py", line 709, in __init__
File "subprocess.py", line 997, in _execute_child
FileNotFoundError: [WinError 2] The system cannot find the file specified
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 42, in <module>
File "main.py", line 33, in main
File "site-packagesseleniumwebdriverchromewebdriver.py", line 68, in __init__
File "site-packagesseleniumwebdrivercommonservice.py", line 81, in start
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
[2228] Failed to execute script main
How can I get around this?
What I get from link provided:
Code 2:
from selenium import webdriver
import os, sys, inspect
current_folder = os.path.realpath(os.path.abspath(os.path.split(inspect.getfile(inspect.currentframe() ))[0]))
chromedriver = os.path.join(current_folder,"chromedriver.exe")
driver = webdriver.Chrome(executable_path = chromedriver)
driver.get("http://www.imdb.com/")
REQUIRES Chrome exe in set path, bundled chrome not read. So packaged chrome does not work as desired.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…