1

场景:我登录了一个网站,获得了 cookie 等,进入了一个带有表单 + 隐藏字段的特定网页。我现在希望能够使用我自己的隐藏表单数据而不是网页上的数据创建自己的 http 帖子,并验证响应而不是使用网页上的响应。

原因:针对预先存在的数据(我知道,我知道)进行测试,这些数据在每个环境中可能会有所不同,因此没有可预测的使用方式。我们需要一个解决方法。

有没有办法在不手动编辑现有表单并提交的情况下做到这一点?感觉有点'hacky'。

理想情况下,我想说的是:

browser.post 'url', 'field1=test&field2=abc'

4

1 回答 1

3

我可能会改用机械化来解决协议级别的问题。像这样的东西添加到你的脚本

b = WWW::Mechanize.new
 b.get('http://yoursite.com/current_page') do |page|
 # Submit the login form
 my_form = page.form_with(:action => '/post/url') do |f|
   f.form_loginname  = 'tim'
   f.form_pw         = 'password'
 end.click_button
end
于 2010-01-22T13:32:06.227 回答