Selenium和Python可执行

时间:2018-06-27 13:43:54

标签: python selenium firefox selenium-webdriver executable

我有一个Python脚本,试图将其转换为可执行文件,以便其他计算机可以在不安装Python的情况下使用它。我一直在尝试使用PyInstaller,但是我一直遇到问题,我认为是因为我已经安装了Selenium模块。我发现this link from a couple months ago,并尝试遵循用户的操作,但使用Firefox而不是Chrome除外,但是我的程序仍然无法作为可执行文件运行。当应该打开Firefox时,我的程序将结束/崩溃。

这是我按照上面的帖子中的答案制作的.spec文件,以及他认为有效的用户评论:

# -*- mode: python -*-

block_cipher = None


a = Analysis(['main.py'],
             pathex=['C:\\Users\\Matthew\\Desktop\\Python'],
             binaries=[('C:\\Python\\browserdriver\\geckodriver.exe' , '.')],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='Work Bot v1.5',
          debug=False,
          strip=False,
          upx=True,
          console=True )
coll = COLLECT(exe,
                a.binaries,
                a.zipfiles,
                a.datas,
                strip=False,
                upx=True,
                name='main')

以下是我的Python脚本中的相关行:

path = os.path.join(sys._MEIPASS, "geckodriver")
driver = webdriver.Firefox(path)

非常感谢您的帮助!

编辑:

在命令提示符下运行该程序后,在程序崩溃之前我看到了该错误:

Traceback (most recent call last):
  File "main.py", line 404, in <module>
  File "site-packages\selenium\webdriver\firefox\webdriver.py", line 147, in __init__
  File "site-packages\selenium\webdriver\firefox\firefox_profile.py", line 78, in __init__
  File "shutil.py", line 309, in copytree
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\Matthew\\Desktop\\Python\\dist\\main\\geckodriver'
[3056] Failed to execute script main

0 个答案:

没有答案