Вы можете связать ваш "chromedriver.exe" вместе со своим сценарием, используя Pyinstaller, как это:
pyinstaller --add-binary="localpathtochromedriver;." myscript.py
Это скопирует файл "chromedriver.exe" в ту же папку, что и ваш основной .exe (Или в случае использования одного файла pyinstaller, эта заливка будет извлечена во временную папку при использовании программы exe).
В вашем скрипте вы можете проверить, выполняете ли вы скрипт нормально или из пакета (exe-файл)mode и соответственно выберите путь к chromedriver.exe. (Это изменение в сценарии может быть общим для опции пакета одного файла / папки в pyinstaller)
import sys
if getattr(sys, 'frozen', False ):
#Running from exe, so the path to exe is saved in sys._MEIPASS
chrome_driver = os.path.join(sys._MEIPASS, "chromedriver.exe")
else:
chrome_driver = 'localpathtochromedriver.exe'
driver = webdriver.Chrome(executable_path=chrome_driver)
Вы можете прочитать об этом в документации здесь .
Ограничение : пользователь вашего .exe должен иметь установленный Chrome в своей системе, а версия Chrome должна работать с прилагаемым хроматографическим драйвером.