我需要在整个工作日期间打开一个网页。我使用 Mechanize 在 Ruby 中编写了一个脚本,它工作正常,但是,当脚本结束时页面关闭。
我找到了一种使用无限循环和的方法sleep(x)
,但我仍然认为这不是一个好方法。恐怕会占用太多内存。
有什么方法可以让会话保持打开状态,直到我手动结束脚本?
这是我的代码:
require 'rubygems'
require 'mechanize'
def autoOpen (loginname, loginpasswd)
p = Mechanize.new
p.agent.http.verify_mode = OpenSSL::SSL::VERIFY_NONE
page = p.get('https://www.webpage.com/index.cgi')
logpage = page.form_with(:method => "POST")
logpage.username = loginname
logpage.password = loginpasswd
succpage = logpage.submit(logpage.button_with(:name => 'Submit'))
end
while 1 == 1
if false == system('ping www.webpage.com > tmp')
autoOpen('username', 'password')
end
sleep(1)
end
实际上,即使我添加了无限循环,它也不起作用。
正如@theTinMan 所说,Mechanize 只是打开页面并获取内容/对象,它不能留在页面中。
有解决办法吗?