селен, chromedriver_autoinstaller и pyinstaller в одном файле - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь создать один файл .exe с помощью pyinstaller, который будет использовать chromedriver_autoinstaller, чтобы хромдрайвер всегда был обновленным. Код работает нормально при запуске в IDE, но как только я использую pyinstaller для создания .exe, он выдает сообщение «Specifi c проблема с chrome_autoinstaller». Поскольку chromedriver_autoinstaller не работает, программа не может найти chromedriver. Программа работает в .exe без автоустановщика, напрямую ссылаясь на путь к файлу chromedriver, но я бы предпочел использовать этот пакет, если это возможно.

class LoginPCC:
    def __init__(self):  # create an instance of this class. Begins by logging in
        try:
            chrome_options = webdriver.ChromeOptions()
            settings = {
                "recentDestinations": [{
                    "id": "Save as PDF",
                    "origin": "local",
                    "account": "",
                }],
                "selectedDestinationId": "Save as PDF",
                "version": 2
            }
            prefs = {'printing.print_preview_sticky_settings.appState': json.dumps(settings), 
            "plugins.always_open_pdf_externally": True}
            chrome_options.add_experimental_option('prefs', prefs)
            chrome_options.add_argument('--kiosk-printing')
            try:
                chromedriver_autoinstaller.install()
            except:
                print('Specific issue with chrome_autoinstaller')
            try:
                self.driver = webdriver.Chrome(options=chrome_options)
            except:
                print('Cannot find chromedriver')

python 3.7 pyinstaller 4.0.dev selenium 4.141.0 хромедрайвер-автоустановщик 0.2

...