Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby liggin进入时出现Selenium ReadTimeout错误_Ruby_Selenium_Selenium Webdriver - Fatal编程技术网

Ruby liggin进入时出现Selenium ReadTimeout错误

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) 例如,我假设我需要设置一个超时时间

使用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)

例如,我假设我需要设置一个
超时
时间长达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(共享内存空间),它将抛出相同的错误,误导人们修复不存在的问题。感谢您的解释!将来会注意到这一点