ruby-on-rails - 如何使用带有 ruby​​ 的 Mechanize 循环创建日志文件

标签 ruby-on-rails ruby mechanize

我正在尝试在本地主机上创建多个日志文件

一个文件是 sign_in.rb

require 'mechanize'

@agent = Mechanize.new
page = @agent.get('http://localhost:3000/users/sign_in')
form =page.forms.first
form["user[username]"] ='admin'
form["user[password]"]= '123456'
@agent.submit(form,form.buttons.first)

pp page

第二个是 profile_page.rb
require 'mechanize'
require_relative 'sign_in'


page = @agent.get('http://localhost:3000/users/admin')
form =page.forms.first

form.radiobuttons_with(:name => 'read_permission_level')[1].check
@agent.submit(form,form.buttons.first)


pp page

如何组合这两个文件并循环运行它们以创建多个日志文件

最佳答案

我对 Mechanize 知之甚少,但是有什么理由不能简单地将这两部分代码组合起来并将它们放在一个 while 循环中?我不知道你需要多久做一次 Mechanize.new 。要制作多个日志文件,只需打开两个不同的文件并写入它们即可。

require 'mechanize'
require_relative 'sign_in'

log1 = File.open("first.log", "w")
log2 = File.open("second.log", "w")

@agent = Mechanize.new
while true
    # @agent = Mechanize.new  # not sure if this is needed
    page = @agent.get('http://localhost:3000/users/sign_in')
    form = page.forms.first
    form["user[username]"] ='admin'
    form["user[password]"]= '123456'
    @agent.submit(form,form.buttons.first)
    PP.pp page, log1

    # @agent = Mechanize.new  # not sure if this is needed
    page = @agent.get('http://localhost:3000/users/admin')
    form = page.forms.first
    form.radiobuttons_with(:name => 'read_permission_level')[1].check
    @agent.submit(form,form.buttons.first)
    PP.pp page, log2
end

关于ruby-on-rails - 如何使用带有 ruby​​ 的 Mechanize 循环创建日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6564856/

相关文章:

ruby-on-rails - 可以从 Rails 应用程序执行 psql 命令吗

ruby-on-rails - 如何使用 rails 中间件中的设计对用户进行身份验证?

ruby-on-rails - Rails 3 和 rmagick

ruby 放置命令

ruby-on-rails - Demeter 定律是否也适用于标准的 ActiveRecord 对象方法?

python - 如何在 mechanize 中单击表单中的标签?

mysql - 如何在 rails 范围内编写原始 sql?

ruby-on-rails - 使用 FactoryGirl 测试简单的 STI

python - 如何使用 mechanize 获取生成的验证码图像

python - 使用 Python 的 Mechanize 提交 Html 表单时出现问题