【发布时间】:2021-10-14 02:06:17
【问题描述】:
我做了一个在 python 中使用 selenium web 驱动程序的小程序。我的程序在 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 -
我应该用这个命令做什么?在哪里 ?它在cmd中不起作用
-
对不起,您可以将其添加到 pyinstaller 中,例如
pyinstaller ./main.py --collect-data selenium。它是一个 pyinstaller 开关,用于收集包数据文件,例如selenium\webdriver\remote\getAttribute.js。您可以在此处查看文档:pyinstaller.readthedocs.io/en/stable/… -
好的,现在我的程序(tk)开始了,但我仍然有一个错误:
Message: 'chromedriver.exe' executable needs to be in PATH有关信息,我执行了:pyinstaller ./noto.py --onefile --add-binary "./driver/chromedriver.exe;./driver" --collect-data selenium在我的 .py 中,我通知了:driver = webdriver.Chrome("./driver/chromedriver.exe",options=chrome_options) -
我只需将
./driver/chromedriver.exe"更改为r"C:/ etc就可以了
标签: python selenium webdriver selenium-chromedriver pyinstaller