Alex2ed 2022-01-10 18:35 采纳率: 0%
浏览 153
已结题

selenium打包成exe报错errno2

问题遇到的现象和发生背景

用pycharm写了一个简单的爬虫程序,使用的是selenium的代码。用pyinstaller打包成exe后报错,errno2

问题相关代码,请勿粘贴截图
# coding=utf-8
from selenium import webdriver
import time


driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
time.sleep(3)
driver.quit()

运行结果及报错内容
Traceback (most recent call last):
  File "se_pachong.py", line 2, in <module>
    from selenium import webdriver
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 476, in exec_module
  File "selenium\webdriver\__init__.py", line 18, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 476, in exec_module
  File "selenium\webdriver\firefox\webdriver.py", line 25, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 476, in exec_module
  File "selenium\webdriver\remote\webdriver.py", line 42, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 476, in exec_module
  File "selenium\webdriver\remote\switch_to.py", line 25, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 476, in exec_module
  File "selenium\webdriver\remote\webelement.py", line 37, in <module>
  File "pkgutil.py", line 639, in get_data
  File "PyInstaller\loader\pyimod03_importers.py", line 325, in get_data
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\T480\\AppData\\Local\\Temp\\_MEI318082\\selenium\\webdriver\\remote\\getAttribute.js'


我的解答思路和尝试过的方法

试过改文件运行路径,但是不行。

我想要达到的结果

成功运行exe文件

  • 写回答

2条回答 默认 最新

  • Alex2ed 2022-01-11 12:24
    关注

    已解决,写一个hook文件即可。因为pyinstaller自带的hook里没有selenium的,所以要自己写。具体操作步骤见【Pyinstaller】pyinstaller 打包出现几类错误的一般解决方法(不定时更新)_摇曳的树的博客-CSDN博客_pyinstaller 打包报错
    感谢站友!
    我的代码

    from PyInstaller.utils.hooks import collect_data_files
    
    datas = collect_data_files("selenium")
    
    

    下一步要解决exe文件在32位系统上的运行问题,继续研究!

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月11日
  • 创建了问题 1月10日

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料