我有一个长期运行的关于硒(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 驱动程序保持更长时间的存活时间?
使用此代码
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
,因为这不是用于页面加载,而是用于存在元素。