我尝试使用pyinstaller的2个选项,一个带控制台,一个不带控制台。
我正在使用Windows 10,Python 3.5.4,Windows Chrome驱动程序2.33和Selnium 3.6.0和Pyinstaller
3.3。
在一个 没有 控制台失败:
这是 Test.py 的代码 __
#!python3
from selenium import webdriver
# Chrome Proxy options and disable the Yellow Bar about Chrome being controlled by Automated Software.
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--disable-infobars")
chrome_options.add_argument("--disable-logging")
chrome_options.add_argument("--disable-notifications")
chrome_options.add_argument("--disable-default-apps")
chrome_options.add_argument("--disable-extensions")
# load google.com with the proxy settings and a logging path to a file
driver = webdriver.Chrome(r"D:\Selenium\chromedriver_win32\chromedriver.exe", chrome_options=chrome_options)
# maximise window
driver.maximize_window()
driver.get("https://www.google.com/mail")
这是具有完全相同代码的pyinstaller命令:
-使用控制台窗口也可以工作:
pyinstaller -F -i favicon.ico Test.py
-没有控制台窗口失败
pyinstaller -F --noconsole -i favicon.ico Test.py
我收到此错误:
*"Failed to execute script error"*
我不知道为什么。
谢谢
感谢您的回复,我查看了:
C:\Users\testuser\AppData\Local\Programs\Python\Python35\Lib\site-packages\selenium\webdriver\chrome\service.py
这里没有子流程。
我还检查了:
C:\Users\testuer\AppData\Local\Programs\Python\Python35\Lib\site-packages\selenium\webdriver\common\service.py
在第70行,我在stdin = self.log_file条目中添加了该条目,因为它丢失了
try:
cmd = [self.path]
cmd.extend(self.command_line_args())
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdin=self.log_file, stdout=self.log_file, stderr=self.log_file)
用pyinstaller重新创建:
pyinstaller -F --noconsole -i favicon.ico Test.py
这创建了exe,但是现在控制台窗口出现了。
带有selenium(webdriver)的Python程序不能作为单个和noconsoleexe文件工作(pyinstaller)
经过一番搜索,我找到了完整的解决方案:首先转到-
C:\Python35\Lib\site-packages\selenium\webdriver\common\service.py
变更:
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdout=self.log_file, stderr=self.log_file)
至:
self.process = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=False, creationflags=0x08000000)
现在只需像这样构建您的app.py:
pyinstaller --noconsole --onefile --noupx Yourfile.py
问题内容: 我可以通过崇高的文本在我的PC上运行python(python 3.7)程序。该程序使用tkinter和sqlite3。pyinstaller不支持它们吗? 运行它时出现的错误(只需双击在中创建的文件: 如果有人对此有任何经验,将不胜感激! 如果问题可能出在代码本身中,我可以发布代码。 问题答案: 您正在使用。据我测试,类似的模块似乎在此版本中不起作用。尝试卸载python(不要忘了之
我目前正试图将静音功能编程到discord机器人上。它已启用服务器权限“静音成员”。 这是每当我调用mute命令时运行的代码: 因此,此代码的连续调用应该切换为静音,但message.channel.send.每次都会发送false,表明该成员从未静音。我不清楚静音功能是如何与不和谐一起工作的。我在某处读到它是基于角色的——如果是这样,那么setMute()命令的意义是什么? 文档:https:/
我开发了一个工具,使用JSch(一个java库,用于通过ssh与其他机器通信)一次性向不同的linux机器发送一行命令 因此,我们的客户需要更改所有机器上的密码。谷歌帮助我达到了这一点: 其中“123”是新密码。 命令将执行,但这始终是输出: 这表明命令没有成功。 请注意,这是一个运行linux的小型设备。这是一个私人编译的版本,尽可能紧凑。其实我对linux了解不多! 这是机器信息: 密码帮助:
因此我正在尝试使用emScripten编译以下代码: 我的实际代码要大得多,但我在这里缩短了它,以强调我的主要疑虑(我留下了我正在使用的所有头文件)。这段代码使用g++进行了完美的编译,并给出了所有预期的输出。 但当我使用将其编译为web程序集时,它给出了以下错误: 为什么EMCC没有找到这个文件?在C++中是否有处理unordered_maps的替代方法? 我在使用tr1时遇到了堆栈溢出问题中的
我已经编辑了这个问题,现在正是我所做的: 我想从命令行中的一些. class文件创建一个. jar文件。 我在Eclipse上工作,创造了: myProject项目,在它:myPackage包中,在它的:myClass类中。然后我在命令行中写道: 我得到了这个: 这真的创造了myJar。jar文件。现在,我想检查这个过程是否成功完成,所以我从jar中提取了这个类: 我得到了这个: 这只为我创建了M
我只是在Windows中安装jdk和jre版本8。环境变量已设置。我尝试在cmd中运行“java-version”,它显示了安装的java版本。但是当我尝试用“javac projectname”编译java项目时,系统说javac不能被识别为内部命令或外部命令。有谁能告诉我怎么修好它吗? 下面是我的环境变量: C:\users\foody>echo%路径%C:\ProgramData\Oracl