Ruby 如何提交带有验证码的表单?

Ruby 如何提交带有验证码的表单?,ruby,forms,submit,captcha,Ruby,Forms,Submit,Captcha,我正在尝试使用Ruby下载我自己的文件。但是当显示验证码时,我被卡住了(这只是一些Javascript生成的spanhtml标记中的随机数)。我想下载计时器可能也有一些问题。第3页上写着“错误验证码” 我做错了什么?如果您使用…search(“td[@align='right']/div”)。您的验证码将始终不正确。内部文本。因为页面使用左填充来更改验证码中的字符序列 要正确使用,需要按升序将padding left的值拉入,然后使用实际的内部文本 e、 g 4#=>2nd 3#=>第一名 9#

我正在尝试使用Ruby下载我自己的文件。但是当显示验证码时,我被卡住了(这只是一些Javascript生成的
span
html标记中的随机数)。我想下载计时器可能也有一些问题。第3页上写着“错误验证码”


我做错了什么?

如果您使用
…search(“td[@align='right']/div”)。您的验证码将始终不正确。内部文本
。因为页面使用
左填充
来更改验证码中的字符序列

要正确使用,需要按升序将
padding left
的值拉入,然后使用实际的内部文本

e、 g

4#=>2nd
3#=>第一名
9#=>第三名
7#=>第四名

thx很多,那么我只需要想一想如何将dem按正确的顺序放置。如果您满意,您可以接受答案。您现在是否可以访问样式代码?类似于:span.style[“padding left”]它与:p(page2.parser.search(“td[@align='right']/div/span[1]”)一起工作。attr('style').value)。split(“;”)[1]。split(“:”[1][0..-3]有更好的解决方案吗?
require 'rubygems'
require 'mechanize'

agent = Mechanize.new
page1 = agent.get("http://uptobox.com/pzlw7p8d651h")
form_page1 = page1.forms.first

page2 = form_page1.submit(form_page1.button_with(:name => "method_free"))
form_page2 = page2.form_with(:name => "F1")
captcha = page2.parser.search("td[@align='right']/div").inner_text
form_page2.field_with(:name => "code").value = captcha

p form_page2

// 60s has to pass before the button is enabled. the prog waits 70s
timeToWait = (page2.parser.search("*[id='countdown_str']/span").text).to_i + 10
p Time.now.getutc
sleep(timeToWait)  
p Time.now.getutc

button = form_page2.button_with(:value => "Create Download Link")
page3 = agent.submit(form_page2,button)

p page3.content  
<span style="position:absolute;padding-left:28px;padding-top:4px;">4</span> #=> 2nd
<span style="position:absolute;padding-left:9px;padding-top:7px;">3</span> #=> 1st
<span style="position:absolute;padding-left:44px;padding-top:6px;">9</span> #=> 3rd
<span style="position:absolute;padding-left:62px;padding-top:3px;">7</span> #=> 4th