Ruby liggin进入时出现Selenium ReadTimeout错误
使用Selenium+Ruby构建我的第一个测试。有一个步骤我必须登录。 我正在传递登录名和密码,然后脚本单击“登录”按钮 登录过程可能需要一段时间(系统细节-经常是这样的)。因此,当脚本等待登录时,大约100秒后,我的代码出现错误:Ruby liggin进入时出现Selenium ReadTimeout错误,ruby,selenium,selenium-webdriver,Ruby,Selenium,Selenium Webdriver,使用Selenium+Ruby构建我的第一个测试。有一个步骤我必须登录。 我正在传递登录名和密码,然后脚本单击“登录”按钮 登录过程可能需要一段时间(系统细节-经常是这样的)。因此,当脚本等待登录时,大约100秒后,我的代码出现错误: /usr/local/cell/ruby@2.5/2.5.8/lib/ruby/2.5.0/net/protocol.rb:181:in`rbuf_fill':net::ReadTimeout(net::ReadTimeout) 例如,我假设我需要设置一个超时时间
/usr/local/cell/ruby@2.5/2.5.8/lib/ruby/2.5.0/net/protocol.rb:181:in`rbuf_fill':net::ReadTimeout(net::ReadTimeout)
例如,我假设我需要设置一个超时
时间长达240秒,但找不到正确的方法
你能帮我设置一个正确的超时属性吗
谢谢大家!
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome
# driver.manage.timeouts.implicit_wait = 240 - Tried it, didn't help
# driver.manage.timeouts.page_load = 240 -
driver.navigate.to 'https://webiste.com'
#Entering my login and password
driver.find_element(id: 'admin_user_email').send_keys('MY_LOGIN')
driver.find_element(id: 'admin_user_password').send_keys('MY_PASSWORD')
#Clicking Login button and at this step my script breaks after ~100 sec
driver.find_element(id: 'admin_user_submit_action').click
driver.navigate.to 'https://another_URL_after_logged_in'
puts 'You are on the page'
正如评论中所要求的那样。通过执行以下操作可以增加超时:
client=Selenium::WebDriver::Remote::Http::Default.new
client.timeout=240#或您需要的任何内容
driver=Selenium::WebDriver.for:chrome,:http_client=>client
您是在本地运行还是在容器中运行?我现在在本地运行,您在本地收到相同的错误吗?是的,我正在本地计算机上运行此代码,并收到此错误。我正试图找到一种方法来增加超时在正确的方式它的工作!非常感谢。你能给我个建议吗,为什么你问我在哪里经营?有什么区别?或者如果这是一个很长的话题,也许你可以告诉我我需要学习什么?谢谢:)这是一个短的。在容器中运行时,您看到的错误与“false”错误一致。如果容器没有足够大的shm(共享内存空间),它将抛出相同的错误,误导人们修复不存在的问题。感谢您的解释!将来会注意到这一点