如何隐藏 Chromedriver 控制台窗口?

问题描述

我有一个简单的 Python 脚本,它使用 selenium 和 webdriver 在 Chrome 窗口中打开 Facebook 并自动登录.当我运行它时,Chromedriver 控制台窗口打开并保持打开状态,即使在整个程序完成执行后,直到我自己关闭它.

I have a simple Python script which uses selenium and webdriver to open up Facebook in a Chrome window and log in automatically. When I run it, the Chromedriver console window opens up and stays open even after the entire program has finished execution, until I close it myself.

有没有办法隐藏这个控制台窗口?我尝试为我的脚本保留一个.pyw"扩展名,但这并没有帮助,因为它不是脚本的控制台窗口,而是我希望隐藏的 Chromedriver 子进程的控制台窗口.

Is there a way to hide this console window? I have tried keeping a ".pyw" extension for my script, but that doesn't help since it's not the script's console window but the Chromedriver subprocess' console window that I wish to hide.

我找不到这方面的任何资源.我想我可能需要修改 chrome webdriver 源代码,但我不知道如何.这是我的代码:

I couldn't find any resources on this. I think I might need to modify the chrome webdriver source code, but I don't know how. This is my code:

from selenium import webdriver
import sys

driver = webdriver.Chrome("C:Python27Scriptschromedriver.exe")

driver.get("https://www.facebook.com")

email = driver.find_element_by_id("email")
passwd = driver.find_element_by_id("pass")

email.clear()
passwd.clear()

email.send_keys("example@example.com")
passwd.send_keys("examplepassword")

passwd.submit()


解决方案

需要调用driver.quit() 在脚本末尾:

You need to call driver.quit() at the end of the script:

quit()

关闭浏览器并关闭 ChromeDriver 可执行文件即启动 ChromeDriver 时启动的

Closes the browser and shuts down the ChromeDriver executable that is started when starting the ChromeDriver

如果您只想关闭服务可执行文件并让浏览器保持打开状态,请调用:

If you want to just close the service executable and let the browser stay opened, call:

driver.service.stop()

仅供参考,我已经从 quit() 方法实现(源代码).

FYI, I've figured this out from the quit() method implementation (source code).

相关文章