【发布时间】:2016-02-25 07:57:21
【问题描述】:
以下是我的python代码:
## t.py ##
from tkinter import messagebox
from tkinter import *
from selenium import webdriver
def clicked():
iedriver = "C:\\Program Files\\Internet Explorer\\IEDriverServer.exe"
try:
driver=webdriver.Ie(iedriver)
except Exception as e:
messagebox.showerror("Error",e)
driver.get('www.baidu.com')
Top=Tk()
Button(Top,text='Click Me',command=clicked).pack()
Top.mainloop()
这很好用,但是当我使用 PyInstaller(t.spec) 将其转换为单个 .exe 文件时:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['D:\\program\\Python\\t.py'],
pathex=['D:\\program\\Python'],
binaries=None,
datas=None,
hiddenimports=[],
hookspath=None,
runtime_hooks=None,
excludes=None,
win_no_prefer_redirects=None,
win_private_assemblies=None,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='t',
debug=False,
strip=None,
upx=False,
console=0 , icon='D:\\program\\Python\\logo\\t.ico')
点击按钮运行时会提示如下错误: Seems that IEDriver executable can't be recognized
当我在spec文件中将选项“console=0”更改为“console=1”,点击按钮后可以运行IE。知道为什么设置“console=0”时无法运行 IE 吗?
【问题讨论】:
-
你有没有试过在运行前在PATH环境变量中添加
C:\\Program Files\\Internet Explorer? -
是的,我的 PATH 如下,但仍然无法解决此问题:PATH=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C :\Windo ws\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Python34;"C:\Program Files\Internet Explorer"
-
在您的上一条评论中,“pro”和“gram”之间有一个空格,这是您评论中的拼写错误吗?
-
是的,这是我的错字,但在我的系统路径中是正确的,这无法解决问题。
标签: python selenium webdriver pyinstaller