当通过Watir调用goto()
时,我得到了这个异常:
Net::ReadTimeout with #<TCPSocket:(closed)>
/usr/lib/ruby/2.6.0/net/protocol.rb:217:in `rbuf_fill'
/usr/lib/ruby/2.6.0/net/protocol.rb:191:in `readuntil'
/usr/lib/ruby/2.6.0/net/protocol.rb:201:in `readline'
/usr/lib/ruby/2.6.0/net/http/response.rb:40:in `read_status_line'
/usr/lib/ruby/2.6.0/net/http/response.rb:29:in `read_new'
/usr/lib/ruby/2.6.0/net/http.rb:1509:in `block in transport_request'
/usr/lib/ruby/2.6.0/net/http.rb:1506:in `catch'
/usr/lib/ruby/2.6.0/net/http.rb:1506:in `transport_request'
/usr/lib/ruby/2.6.0/net/http.rb:1479:in `request'
/var/lib/gems/2.6.0/gems/selenium-webdriver-3.142.3/lib/selenium/webdriver/remote/http/default.rb:129:in `response_for'
/var/lib/gems/2.6.0/gems/selenium-webdriver-3.142.3/lib/selenium/webdriver/remote/http/default.rb:82:in `request'
/var/lib/gems/2.6.0/gems/selenium-webdriver-3.142.3/lib/selenium/webdriver/remote/http/common.rb:64:in `call'
/var/lib/gems/2.6.0/gems/selenium-webdriver-3.142.3/lib/selenium/webdriver/remote/bridge.rb:167:in `execute'
/var/lib/gems/2.6.0/gems/selenium-webdriver-3.142.3/lib/selenium/webdriver/remote/w3c/bridge.rb:567:in `execute'
/var/lib/gems/2.6.0/gems/selenium-webdriver-3.142.3/lib/selenium/webdriver/remote/w3c/bridge.rb:59:in `get'
/var/lib/gems/2.6.0/gems/selenium-webdriver-3.142.3/lib/selenium/webdriver/common/navigation.rb:32:in `to'
/var/lib/gems/2.6.0/gems/watir-6.16.5/lib/watir/navigation.rb:16:in `goto'
似乎我可以修改超时,但我不明白怎么做。
它们使用这里,但我如何配置它们?
发布于 2019-08-23 07:26:53
您可以参考文档Ruby-绑定:内部超时
从文档:内部超时,WebDriver使用HTTP与许多驱动程序( JsonWireProtocol)进行通信。默认情况下,使用来自Ruby标准库的Net::HTTP,默认超时时间为60秒。如果在加载时间超过60秒的页面上调用例如Driver#get、Driver#click,您将看到从Net::HTTP引发的超时值::Driver#click。您可以通过以下操作配置此超时(在启动浏览器之前):
client = Selenium::WebDriver::Remote::Http::Default.new
client.read_timeout = 120 # seconds
driver = Selenium::WebDriver.for :remote, http_client: client
在瓦蒂尔,这可能就像
caps = Selenium::WebDriver::Remote::Capabilities.chrome
client = Selenium::WebDriver::Remote::Http::Default.new
client.read_timeout = 600
client.open_timeout = 600
driver = Watir::Browser.new :chrome, :desired_capabilities => caps,
:http_client => client
https://stackoverflow.com/questions/57616621
复制相似问题