Как использовать сеть DevTools с Selenium 4 в Ruby

#ruby #selenium #google-chrome-devtools #selenium4

Вопрос:

Я использую Selenium 4 с Ruby и пытаюсь зафиксировать сетевую активность, но не могу понять, как использовать библиотеки, и не нашел ничего, связанного с этим для Ruby.

Так что я сделал вот что:

  • Я добавил драгоценный камень DevTool в файл Gemfile: gem 'selenium-devtools', '~> 0.91.1'
  • Я код, я пытаюсь это сделать:
 devtools = browser.devtools
network = Selenium::DevTools::V91::Network.new(devtools)
network.enable
 

но, похоже, это не работает.

При отладке я вижу что-то странное: при создании объекта DevTools в методе, похоже, возникает исключение socket :

К сожалению, я не могу понять, почему это происходит, и ничего об этом не нашел. Я пытался втиснуться в .new метод, который где-то терпит неудачу, но он никуда меня не ведет.

Вы наткнулись на что-то подобное или у кого-нибудь есть какие-нибудь советы о том, как правильно использовать DevTools в Ruby?

Ответ №1:

Я не использовал Selenium 4 DevTools, но есть другой способ, которым вы можете включить это.

Чтобы получить доступ к DevTools, вам необходимо сначала упомянуть их в своем файле YML в Ruby. Что-то вроде этого

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

Аналогично, если вы хотите открыть вкладку «Консоль», вы можете перейти с вкладки «Сеть» на вкладку «Консоль».

Кроме того, если вы хотите записать контент, вы можете попробовать этот конкретный драгоценный камень в Ruby, который помогает просматривать тестовые случаи записи в Ruby Screenrecord