如何在 Ruby 中使用带有 Selenium 4 的 DevTools Network

问题描述

我正在将 Selenium 4 与 Ruby 结合使用,并且正在尝试捕获网络活动,但我不知道如何使用这些库,也没有找到与 Ruby 相关的任何内容

所以我所做的是:

  • 我在 Gemfile 中添加了 DevTool gem:gem 'selenium-devtools','~> 0.91.1'
  • 我正在尝试这个代码
devtools = browser.devtools
network = Selenium::DevTools::V91::Network.new(devtools)
network.enable

但它似乎不起作用。

调试时我看到一些奇怪的东西:在创建 DevTools 对象时,socket 方法似乎有一个异常:

不幸的是,我无法弄清楚为什么会发生这种情况,也没有找到任何关于此的信息。我试图强行使用 .new 方法,但它在某处失败了,但它并没有带我去任何地方。

您是否偶然发现了类似的东西,或者有人对如何在 Ruby 中正确使用 DevTools 有一些建议?

解决方法

我没有使用过 Selenium 4 DevTools,但您可以通过另一种方式将其合并。

要访问 DevTools,您需要先在 Ruby 的 YML 文件中提及它们。像这样

chrome:
  switches:
    - auto-open-devtools-for-tabs
  prefs:
    download:
        default_directory: downloads/
    devtools:
        preferences:
            panel-selectedTab: '"network"'

同样,如果您想打开控制台选项卡,您可以从网络更改为控制台选项卡。

另外,如果你想记录内容,你可以在 Ruby 中尝试这个特殊的 gem,它有助于在 Ruby 中筛选记录测试用例 Screenrecord

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...