2011-12-18 4 views
0

Я получил этот рубиновый скрипт:Рубин механизировать сценарий питона

require 'mechanize' 
agent = Mechanize.new 
page = agent.get "http://www.speech.sri.com/projects/srilm/download.html" 
form = page.forms.last 
form.field_with(name: "name").value = "Hans Meier" 
form.field_with(name: "org").value = "Meier AG" 
form.field_with(name: "email").value = "hans.meier.org" 
form.field_with(name: "address").value = "Baslerstrasse 32" 
form.field_with(name: "file").value = "/project/srilm/srilm-1.6.0.tar.gz" 
File.open('srilm.tgz') {|f| f.write agent.submit(form).body } 

Согласно intro page, первая часть легко, но я не знаю, как обращаться с form.field_with вещи.

ответ

1
import mechanize 
br = mechanize.Browser() 
br.open("http://www.speech.sri.com/projects/srilm/download.html") 
br.select_form(nr = True) 
br['name'] = 'Hans Meier' 
br['org'] = 'Meier AG' 
br['email'] = 'hans.meier.org' 
br['address'] = 'Baslerstrasse 32' 
br['file'] = ['/project/srilm/srilm-1.6.0.tar.gz'] 
form_submission = br.submit() 
with open('srilm.tgz', 'w') as f: 
    f.write(form_submission.read()) 
+0

Технически это не эквивалент 'field_with' (который допускает совпадение нескольких условий или регулярных выражений), но OP действительно не нужно было использовать его в Ruby-скрипте в любом случае. –

Смежные вопросы