В https://github.com/GoogleChrome/кукловод
Есть один вариант добавить задержку в каждое действие
Slow it down - the slowMo option slows down Puppeteer operations by the specified amount of milliseconds. It's another way to help see what's going on.
Я пытаюсь найти аналогичный способ в Selenium WebDriver (использую библиотеку ruby).
Проблема: прямо сейчас, когда я запускаю скрипт Selenium, он очень быстро завершается, я хочу, чтобы он выполнялся как человеческое поведение. Есть ли способ добиться этого в Selenium??
Это волшебный метод, он более эффективен, так как мы можем помещать случайный сон между каждой командой, чтобы сделать симуляцию похожей на человека.
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