首页 > 解决方案 > 我怎样才能让 watir(chrome-driver) 存活更长时间?

问题描述

我对硒(Ruby Watir)进行了长期的抓取工作。

但 60 分钟后,我收到此错误:

Net::ReadTimeout: Net::ReadTimeout with #<TCPSocket:(closed)>

我的代码:

args = %w[disable-extions headless disable-gpu disable-dev-shm-usage disable-software-rasterizer no-sandbox]
browser = Watir::Browser.new :chrome, options: {args: args}
Watir.default_timeout = 999999

我怎样才能让 chrome-driver 保持更长时间?

标签: ruby-on-railsrubyselenium-webdriverselenium-chromedriverwatir

解决方案


使用此代码

 args = %w[disable-extions headless disable-gpu disable-dev-shm-usage disable-software-rasterizer no-sandbox]
 client = Selenium::WebDriver::Remote::Http::Default.new
 client.read_timeout = 120 # seconds
 driver = Selenium::WebDriver.for :chrome, options: {args: args}, http_client: client
 browser=Watir::Browser.new driver

这将等待 120 秒页面加载

并且不要更改,default_timeout因为这不是用于页面加载,而是用于存在元素。


推荐阅读