在Heroku上使用webdrivers硒获取ReadTimeout

问题描述 投票:1回答:1

在heroku上使用Selenium Webdrivers时出现以下错误。 (rspec->水豚->硒)

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

我有heroku-buildpack-google-chrome buildpack,带有webdrivers-gem。

并且在规范设置中包含以下块:

chrome_shim = ENV.fetch("GOOGLE_CHROME_SHIM", nil)

Selenium::WebDriver::Chrome.path = chrome_shim

chrome_opts = { "chromeOptions" => { "binary" => chrome_shim } }

Capybara.register_driver :selenium do |app|
    Capybara::Selenium::Driver.new(
      app,
      browser: :chrome,
      desired_capabilities: Selenium::WebDriver::Remote::Capabilities.chrome(chrome_opts)
    )
end

Capybara.javascript_driver = :headless_chrome

[Webdrivers.logger.level = :DEBUG输出在这里https://gist.github.com/IanVaughan/3e0c50d2fa4a60e672b96f6726fbbb8c

capybara (3.30.0)
webdrivers (4.2.0)
selenium-webdriver (3.142.7)

更新:我在日志中注意到

2020-01-15 19:54:03 INFO Selenium <- {"value":{"error":"invalid argument",
"message":"invalid argument\n  (Session info: headless chrome=79.0.3945.117)", \u003Cunknown>\n
selenium-webdriver heroku rspec capybara webdrivers-gem
1个回答
0
投票

如果在您的应用程序首次请求期间发生超时,而应用程序一次执行某件事(编译资产等),那么您可能需要增加允许的读取超时时间

© www.soinside.com 2019 - 2024. All rights reserved.