В чем может быть причина этого SessionNotCreatedException для Selenium в исполняемом файле, созданном с помощью PyInstaller? - PullRequest
1 голос
/ 08 октября 2019

У меня странная проблема с селеном при сборке отдельного exe-файла с pyinstaller. Программа, которую я упаковываю, также использует pyqt.

Все работает нормально при запуске оригинального скрипта python, как в виртуальной среде, так и без нее. Кроме того, я могу скомпилировать полностью функциональную версию моего скрипта с помощью PyInstaller. При компиляции с использованием виртуальной среды происходит странная вещь:

selenium больше не будет работать, когда я запускаю скомпилированный исполняемый файл. это дает мне эту ошибку:

selenium.common.exceptions.SessionNotCreatedException: Сообщение: невозможно найти соответствующий набор возможностей

Я провел некоторое исследование и обнаружил эту ошибкукак-то связано с несоответствием версии браузера, если я правильно понимаю. Добавление некоторых возможностей к веб-драйверу не помогло. Примечание. Странно, эта ошибка исчезает при удалении всего кода, связанного с PyQT, из класса, имеющего дело с веб-драйвером (кажется, что PyQt каким-то образом вмешивается здесь), что, к сожалению, не вариант для меня, потому что мне нужноQt вещи (в частности, сигналы) в моем классе.

Я не понимаю, как это происходит, потому что у меня установлена ​​только одна версия Firefox. так что виртуальная среда использует тот же браузер.

теперь у меня есть два один вопрос с :

  • в чем может быть причинадля получения вышеупомянутой ошибки? (Я бы предпочел продолжить сборку с моей виртуальной средой. Если это окажется слишком трудным для достижения, я хотел бы оптимизировать сборку без виртуальной среды)

(- как я могу избавиться от.so файлы, включенные в комплект? я пробовал решения из здесь , но ни один не работал.

редактировать: 2-й вопрос был решен: я не поместил код исключения в файл .spec. должно быть сразу после части анализа, а не в конце файла.)

...