mas*_*asc 6 python selenium selenium-webdriver
var driverService = ChromeDriverService.CreateDefaultService();
driverService.HideCommandPromptWindow = true;
var driver = new ChromeDriver(driverService, new ChromeOptions());
Run Code Online (Sandbox Code Playgroud)
是否有可能在 Python 中实现这一点?我已经尝试了在 StackoverFlow 和外部发布的所有可能的修复程序,但是当我运行我的 .exe 时什么也没有,cmd 也出现了。
Python 3.6,最新的 Selenium 版本 (3.9)。
我找到了在 python 中复制上述代码的方法(或多或少)将此修复 作为我灵感的基础。
经过数小时的挣扎(以及非常糟糕的话语),我在 github 上进行了此提交,现在可以通过代码轻松更改控制台提示行为。我会尽量让它在官方来源中可用。希望它能让你节省时间和耐心。
找到service.py,一般在“X:\YourPythonFold\Lib\site-packages\selenium\webdriver\common\service.py”
替换这些行(大约 n° 72-76,在 start method def 下方):
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdout=self.log_file,
stderr=self.log_file,
stdin=PIPE)
Run Code Online (Sandbox Code Playgroud)
和
if any("hide_console" in arg for arg in self.command_line_args()):
self.process = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, creationflags=0x08000000)
else:
self.process = subprocess.Popen(cmd, env=self.env, close_fds=platform.system() != 'Windows', stdout=self.log_file, stderr=self.log_file, stdin=PIPE)
Run Code Online (Sandbox Code Playgroud)
最后在您的代码中,当您设置驱动程序时(我选择 Chrome 作为示例):
args = ["hide_console", ]
driver = webdriver.Chrome("your-path-to-chromedriver.exe", service_args=args, ...)
Run Code Online (Sandbox Code Playgroud)
编辑源代码时,注意PEP!千万不能使用制表符,只是空格!
| 归档时间: |
|
| 查看次数: |
8485 次 |
| 最近记录: |