【问题标题】:Python, using pypiwin32 to stop chromedriver.exe prompt from openingPython,使用pypiwin32阻止chromedriver.exe提示打开
【发布时间】:2017-10-25 10:21:01
【问题描述】:

我正在尝试在此处实现答案以抑制 chromedriver.exe 提示:

https://stackoverflow.com/a/39937466/264975

告诉我使用以下内容:

from win32process import CREATE_NO_WINDOW

但是,我无法加载 win32process 模块。我被告知它需要 pypiwin32,但是,没有关于如何使用这些模块的信息?例如,我实际上应该导入什么以及从哪里导入?

我使用 pip 成功安装了 pypiwin32,但是由于缺少帮助文件,我不知道如何验证它是否正常工作。

希望能提供一些关于如何使示例正常工作的指示。

我在 64 位电脑上重要吗?我认为我使用的 python 是 32 位的。

【问题讨论】:

  • 为什么不试试像 PhantomJS 这样的无头浏览器 [phantomjs.org/]

标签: python win32-process


【解决方案1】:

正在尝试做同样的事情。

我在使用 Python 2.7 的 Windows 10 64 位机器上。

一直说找不到win32process。

我安装了一堆不同的模块和一些命令行安装命令,但是在我从 https://sourceforge.net/projects/pywin32/files/pywin32/ 安装了这个 exe 包 pywin32-221.win-amd64-py2.7.exe 之后,它开始工作了

然后按照https://stackoverflow.com/a/39937466/264975 的指示转到您的 Python 文件夹,然后

Lib\site-packages\selenium\webdriver\common\

并编辑service.py(在线程中提到services.py,但这是我文件夹中的内容)

并在此脚本的顶部包含from win32process import CREATE_NO_WINDOW。我的是这样的

import errno
import os
import platform
import subprocess
from subprocess import PIPE
from win32process import CREATE_NO_WINDOW
import time
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.common import utils

然后在此脚本的下方查找def start(self):,并将其添加到self.process = 的末尾

creationflags=CREATE_NO_WINDOW

所以我的看起来像这样

        self.process = subprocess.Popen(cmd, env=self.env,
                                        close_fds=platform.system() != 'Windows',
                                        stdout=self.log_file,
                                        stderr=self.log_file,
                                        stdin=PIPE,
                                        creationflags=CREATE_NO_WINDOW)

就是这样。现在 chromedriver.exe 控制台根本不会在我的 python 脚本中弹出。

这对我有用。很难说是多种因素共同作用,还是仅仅安装了pywin32-amd64.exe 包。

【讨论】:

  • 还要注意CREATE_NO_WINDOW 只是根本不创建*window*/console ---,驱动程序仍然在后台运行。在脚本中的适用行上使用driver.quit() 命令之类的东西,否则只需退出应用程序/脚本就会将其留在后台并堆积起来(尤其是在开发环境中:))
猜你喜欢
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
  • 2011-05-10
  • 2022-10-04
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多