当前位置: 首页 > 面试题库 >

使用Selenium Python API绑定从Chrome获取console.log输出

汪茂
2023-03-14
问题内容

我正在使用Selenium通过Python
API绑定在Chrome中运行测试,并且在弄清楚如何配置Chrome以使console.log加载的测试的输出可用时遇到了麻烦。我看到WebDriver对象上有get_log()log_types()方法,并且已经看到Get
chrome的控制台日志
,该日志显示了如何使用Java进行操作。但是我LoggingPreferences在Python
API中看不到Java的等效类型。有什么办法可以满足我的需求?


问题答案:

好了,终于明白了:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

# enable browser logging
d = DesiredCapabilities.CHROME
d['loggingPrefs'] = { 'browser':'ALL' }
driver = webdriver.Chrome(desired_capabilities=d)

# load the desired webpage
driver.get('http://foo.com')

# print messages
for entry in driver.get_log('browser'):
    print(entry)

source字段相等的条目'console-api'对应于控制台消息,消息本身存储在该message字段中。

从chromedriver 75.0.3770.8开始,您必须使用goog:loggingPrefs而不是loggingPrefs:

d['goog:loggingPrefs'] = { 'browser':'ALL' }


 类似资料:
  • 首先,我这样做没有从用户那里获得长度。这是: 现在我尝试从用户那里获取输入长度。这是: 这显示了“cout(ing)”“ptr”时输出中的一些奇怪的东西,我不知道是什么!如果这是错误的,我怎么也可以从用户那里获取输入?如果我编辑第一个程序,那么我不能获取输入,直到执行这一行“str=new char[];”。并且长度只能在这一行中给出。并且长度只能在获取字符串之前给出。

  • 问题内容: 我想知道为什么以下代码在Google Chrome浏览器中不起作用: 输出:未捕获的TypeError:非法调用 谢谢。 问题答案: 在编写时,您是在全局上下文中调用。 Chrome 不想在该对象上调用。 相反,您可以编写 这将在的上下文中调用。

  • 本文向大家介绍JS中捕获console.log()输出的方法,包括了JS中捕获console.log()输出的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS中捕获console.log()输出的方法。分享给大家供大家参考。具体分析如下: 我们知道console.log()可以将信息输出到debugger中供开发者查看。但如果我们想要在JS中获取console.log()的输出结果

  • 问题内容: (.issues[] | {key, status: .fields.status.name, assignee: .fields.assignee.emailAddress}) 输出: 但是我需要解析每一行,但是就密钥组而言,很难确定哪个受让人对应哪个密钥。使用jq可以使一束成行吗? 预期产量: 要么 问题答案: 您可能需要的是 使用上面发布的输出,可以进行进一步处理: 给予 或者您

  • 有人问我一个关于求两个数之间的公约数的问题。我能够使用“埃拉托色尼筛”找出逻辑方法,我正在运行我的代码。但是我的代码给出了一个意想不到的输出,它能够计算出no。指两个数之间的公约数。对于第一个输入,但对于其余的输入,它以某种方式继续与前一个值“内部循环j”,在该值处,它在第一个测试用例中停止;对于其他测试用例。 逻辑方法-->如果一个素数不。是给定两个NO的因子。然后,我们将检查每一个素数的倍数。

  • 问题内容: 当我的JS应用程序写入console.log时,我想捕获该日志消息,以便可以AJAX将日志输出到服务器。我怎么做? 写入日志的代码来自外部服务,这就是为什么我不能直接将其ajax的原因。 问题答案: 您可以通过以下方式劫持JavaScript函数: 第1 行将您的函数包装在一个闭包中,因此没有其他函数可以直接访问(出于可维护性的原因)。 第2行 记录了原始方法。 第3行 创建了一个新功