Как включить хромовый драйвер селена с pyinstaller? - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь упаковать свое приложение с помощью pyinstaller, чтобы другие люди могли использовать его, не загружая все дополнительные файлы и т. Д. В настоящее время мой сценарий запускает хроматический драйвер selenium со следующим кодом:

import os, inspect

current_folder = os.path.realpath(os.path.abspath(os.path.split(inspect.getfile(inspect.currentframe() ))[0]))

chromedriver = os.path.join(current_folder, "chromedriver")

browser = webdriver.Chrome(chromedriver, options=chrome_options )

Я создаю файл спецификации с кодом:

pyi-makespec --onefile check_in_final.py

Затем я редактирую двоичные файлы в файле спецификации:

binaries=[('/Users/Vetle/Python/Scripts/Wiredelta_Timer/Final/chromedriver', '.')],

Затем я создаю файл с помощью:

pyinstaller check_in_final.spec

И получите сообщение об ошибке при попытке запустить мое недавно созданное упакованное приложение:

Traceback (most recent call last):
  File "site-packages/selenium/webdriver/common/service.py", line 76, in start
  File "subprocess.py", line 769, in __init__
  File "subprocess.py", line 1516, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: '/Users/Vetle/chromedriver': '/Users/Vetle/chromedriver'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "check_in_final.py", line 248, in <module>
  File "check_in_final.py", line 223, in login_timer
  File "site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
  File "site-packages/selenium/webdriver/common/service.py", line 83, 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

[21745] Failed to execute script check_in_final

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

...