python - 执行我用 pyinstaller 制作的 .exe 时出错

标签 python selenium webdriver selenium-chromedriver pyinstaller

我制作了一个在 python 中使用 selenium 网络驱动程序的小程序。我的程序在 spyder 上运行时运行良好。 然后我用pyinstaller做exe

pyinstaller ./main.py --onefile --noconsole --add-binary "./driver/chromedriver.exe;./driver"

但是无法启动它,我得到了这个错误

Traceback (most recent call last):
File "noto.py", line 8, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
File "selenium\webdriver\__init__.py", line 18, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
File "selenium\webdriver\firefox\webdriver.py", line 29, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
File "selenium\webdriver\remote\webdriver.py", line 26, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
File "selenium\webdriver\remote\webelement.py", line 43, in <module>
File "pkgutil.py", line 637, in get_data
File "PyInstaller\loader\pyimod03_importers.py", line 479, in get_data
FileNotFoundError: [Errno 2] No such file or 
directory:'C:\\Users\\Mon nom\\AppData\\Local\\Temp\\1\\_MEI50482\\
selenium\\webdriver\\remote\\getAttribute.js'
[28052] Failed to execute script 'noto' due to unhandled exception!

所以确实,我没有这个目录,因为selenium安装在这个路径中: C:\Users\Mon nom\Anaconda3\Lib\site-packages\selenium\webdriver\remote 并且我有 getAttribute.js 文件。

有人有想法吗? :)

最佳答案

添加

--collect-data selenium

pyinstaller 命令行的选项,

所以它应该是这样的:

pyinstaller ./main.py  --collect-data selenium  --onefile --noconsole --add-binary "./driver/chromedriver.exe;./driver"

关于python - 执行我用 pyinstaller 制作的 .exe 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68727994/

相关文章:

java - 如何从主方法获取参数到测试类

python - 给定列表中指定项目的位置,逐渐将一个添加到索引列表

android - 如何将 python 程序集成到 kivy 应用程序中

python - pyqt - 更改 TableView 中的行~单元格颜色

python - 访问搜索栏并使用 selenium 进行搜索

ruby - 防止 ruby​​ selenium-webdriver 在引发 UnhandledAlertError 时解除警报

python - 在python中创建xml文件时如何插入制表符而不是空格

javascript - Protractor 测试用例无法在 Firefox 上运行

java - 获取所有开头的链接

javascript - Webdriver.io - 很可能无法加载规范文件,因为它们依赖于 `browser` 对象