Как я могу создать файлы журналов в цикле, используя Mechanize с Ruby - PullRequest
0 голосов
/ 03 июля 2011

Я пытаюсь создать более одного файла журнала на локальном хосте

один файл 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

как мне объединить эти два файла и запустить их в цикле, чтобы создать более одного файла журнала

1 Ответ

0 голосов
/ 03 июля 2011

Я не знаю много о 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
...