当前位置: 首页 > 知识库问答 >
问题:

Python:如何隐藏输出Chrome消息在硒?

黄正浩
2023-03-14

我想使用Selenium ChromeDriver打开Chrome浏览器,而不让Chrome消息输出到控制台。

from selenium import webdriver
driver = webdriver.Chrome(r'C:\Users\u1\Documents\scripts\chromedriver.exe')
C:\Users\u1\Documents\scripts>python test.py

DevTools listening on ws://127.0.0.1:50605/devtools/browser/11c9063a-44ce-4b39-9566-9e6c6270025c

我想隐藏输出消息"DevTools监听..."

from selenium import webdriver
import contextlib

with contextlib.redirect_stdout(None):
   driver = webdriver.Chrome(r'C:\Users\u1\Documents\scripts\chromedriver.exe')
from selenium import webdriver
import subprocess

devnull = subprocess.DEVNULL
subprocess.Popen(open_browser(), stdout=devnull, stderr=devnull)
def open_browser():
    driver = webdriver.Chrome(r'C:\Users\u1\Documents\scripts\chromedriver.exe')
chrome_options = Options()
chrome_options.add_argument("--log-level=3")
driver = webdriver.Chrome(r'C:\Users\u1\Documents\scripts\chromedriver.exe', chrome_options=chrome_options)

但这一信息仍在显现。如何隐藏输出消息“DevTools侦听…”用Python?

共有3个答案

东方淇
2023-03-14

这些是chrome消息,因此您需要设置chrome日志级别的选项来隐藏这些消息,将日志级别设置为--Log Level=3就足够了(只有致命的日志消息)。

from selenium.webdriver.chrome.options import Options
[...]
chrome-options = Options()
chrome-options.add_argument("--log-level=3")
driver = webdriver.Chrome(chrome_options=chrome-options)

出于好奇,我想问一下为什么?

谭仰岳
2023-03-14

类似的问题在DevTools监听ws://127.0.0.1:57671/devtools/browser/8a586f7c-5f2c-4d10-8174-7a7bf50e49b5与硒和Python。

答案是:

基于Chanticleer在隐藏chromeDriver控制台在python

按以下方式找到并编辑此文件:位于Python文件夹中的Lib\site-包\selenium\webDrive\公共\services.py。

通过以下方式添加创建标志来编辑start()函数:creation标志=CREATE_NO_WINDOW

from win32process import CREATE_NO_WINDOW

def start(self):
    """
    Starts the Service.

    :Exceptions:
     - WebDriverException : Raised either when it can't start the service
       or when it can't connect to the service
    """
    try:
        cmd = [self.path]
        cmd.extend(self.command_line_args())
        self.process = subprocess.Popen(cmd, env=self.env,
                                        close_fds=platform.system() != 'Windows',
                                        stdout=self.log_file, stderr=self.log_file, creationflags=CREATE_NO_WINDOW)
    except TypeError:
        raise

完美为我(python3.7,硒3.141.0)

请相信我花了几个小时寻找答案。

酆景辉
2023-03-14

将此选项添加到驱动程序中,您的问题将得到解决:

options = webdriver.ChromeOptions()<br>
options.add_experimental_option('excludeSwitches', ['enable-logging'])
 类似资料:
  • 输入一个语句后按回车键,MATLAB自动在屏幕上显示结果,但如果该行命令是以";"结尾,则MATLAB仍会进行运算赋值,但不显示任何输出结果.这一点在生成复杂矩阵时特别有用.例如: A = magic(100);

  • 问题内容: 我在Ubuntu上使用,并且有一个Python 2.7脚本可以打印并说出一条消息: 产生所需的声音,但由于一些错误(,没有套接字连接)而使外壳混乱,因此我无法轻松读取之前打印的内容。退出代码为0。 不幸的是,没有记录的选项可以关闭它的冗长性,因此我正在寻找一种方法,仅在视觉上使其静音并保持打开的外壳干净以进行进一步的交互。 我怎样才能做到这一点? 问题答案: 将输出重定向到DEVNUL

  • 我想让我的Bash脚本对最终用户来说更加优雅。当Bash执行命令时,如何隐藏输出? 例如,当Bash执行时 以下内容将显示给执行Bash的用户: 现在我想对用户隐藏这一点,而是显示: 我怎样才能完成这项任务?我一定会帮助使脚本更加用户友好。如果发生错误,则应向用户显示。 我想知道如何显示相同的消息,而一组命令正在执行。

  • 问题内容: 我需要在父div上加上圆角以掩盖其子级的内容。在简单的情况下可以正常工作,但是当父级相对或绝对定位时,基于webkit的浏览器和Opera会中断。 这适用于Firefox和IE9: CSS HTML 谢谢您的帮助! 更新: 导致此问题的错误已在Chrome中修复。我还没有重新测试Opera或Safari。 问题答案: 没关系,每个人,我设法通过在包装器和包装盒之间添加一个额外的div来

  • 我的列车数据集中有648个变量。编码时: python只输出前30个和后30个变量。我想知道所有变量的结果。

  • 问题内容: 我正在使用Selenium的WebDriver和Python编码。 有一个隐藏的输入字段,我试图在其中插入特定的日期值。该字段最初会产生一个日历,用户可以从中选择一个合适的日期,但是与直接插入合适的日期值相比,模拟起来似乎要复杂得多。 该页面的源代码如下所示: 我要在其中插入值的字段在哪里(它最初是空的,即:。 我了解WebDriver无法将值插入隐藏的输入中,因为常规用户无法在浏览器