Вариант slowMo кукловода в веб-драйвере селена? - PullRequest
0 голосов
/ 27 мая 2019

В https://github.com/GoogleChrome/puppeteer

Существует одна опция для добавления задержки в каждое действие

Замедление - опция slowMo замедляет операции Puppeteer на указанное количество миллисекунд. Это еще один способ помочь увидеть что происходит.

Я пытаюсь найти аналогичный способ в Selenium WebDriver (я использую библиотеку ruby).

Проблема: прямо сейчас, когда я запускаю скрипт Selenium, он очень быстро заканчивается, я хочу, чтобы он запускался как человеческое поведение. Есть ли способ добиться этого в Selenium ??

1 Ответ

0 голосов
/ 19 июня 2019

Это магический метод, он более эффективен, так как мы можем поместить произвольный сон между каждой командой, чтобы создать симуляцию, подобную человеческой

module Selenium::WebDriver::Remote
  class Bridge
    def execute(command, opts = {}, command_hash = nil)
      verb, path = commands(command) || raise(ArgumentError, "unknown command: #{command.inspect}")
      path = path.dup

      path[':session_id'] = session_id if path.include?(':session_id')

      begin
        opts.each { |key, value| path[key.inspect] = escaper.escape(value.to_s) }
      rescue IndexError
        raise ArgumentError, "#{opts.inspect} invalid for #{command.inspect}"
      end

      Selenium::WebDriver.logger.info("-> #{verb.to_s.upcase} #{path}")
      res = http.call(verb, path, command_hash)
      sleep rand(0.1..0.8).round(2) # <--- Add your sleep here.
      res
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...