首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用selenium在Chrome控制台上捕获console.log输出

使用selenium在Chrome控制台上捕获console.log输出
EN

Stack Overflow用户
提问于 2021-07-13 18:10:04
回答 1查看 705关注 0票数 1

我有一个网站列表,我正在做一些测试和实验。我使用selenium从列表中访问一个网站,并使用MITMproxy脚本将一段JS注入到一些文件中。这个注入的代码执行一些测试,并使用JS中的console.log()将结果输出到chrome控制台,如下所示

console.log(results of the injected JS)

当我运行我的实验时,注入是成功的,我想要的结果会出现在Chrome控制台上。我面临的问题是,当我试图捕获用于console.log输出的铬控制台时,它并不成功。它将捕获来自铬控制台的警告和错误消息,而不是console.log输出。目前我就是这样做的。

代码语言:javascript
运行
复制
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import NoSuchElementException, TimeoutException, StaleElementReferenceException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

option = Options()
option.add_argument('start-maximized')

# Specify the proxy
option.add_argument('--proxy-server=%s:%s' % (proxy_host, proxy_port))

# enable browser logging
d = DesiredCapabilities.CHROME
# d['loggingPrefs'] = { 'browser':'ALL' }
d['goog:loggingPrefs'] = { 'browser':'ALL' }


# Launch Chrome.
driver = webdriver.Chrome(options=option, executable_path = './chromedriver', desired_capabilities=d, service_args=["--verbose", "--log-path=./js_inject/qc1.log"])

for url in list_urls:
# Navigate to the test page

    driver.get(url)
    sleep(15)
    # in this 15 seconds, the MITMproxy will inject the code and the injected code will output on chrome console.
    for entry in driver.get_log('browser'):
        print(entry)

有人能指出我可能犯了什么错误吗?或者用另一种方法来完成这个任务。谢谢。

请原谅我的语法错误。

EN

回答 1

Stack Overflow用户

发布于 2022-01-24 13:01:35

代码语言:javascript
运行
复制
options.add_experimental_option('excludeSwitches', ['enable-logging'])
dc = DesiredCapabilities.CHROME
dc["goog:loggingPrefs"] = {"browser":"INFO"}
self.driver = webdriver.Chrome(chrome_options=options, desired_capabilities=dc)

一段时间前,我设法让它发挥作用,所以不确定到底是什么做到了,但我认为这是“无法登录”的实验性选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68367459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档