3

次のサイトにログインしようとしています: https://login.binck.nl/klanten/

Mechanize はフィールドのみを検索できます__RequestVerificationTokenが、usernameandpasswordフィールドは検索できません。このコードを使用してフィールドを発見しました。

require 'rubygems'
require 'mechanize'

agent = Mechanize.new

page = agent.get('https://login.binck.nl/klanten/')
form = page.forms.first
form.fields.each { |f| puts "#{f.name} : #{f.value}" }  

usernameおよびpasswordフィールドには名前がなく、Web サイトは Knockout.js を使用しているようです。おそらくそれが機能していない理由です。usernameフィールドとフィールドを追加してもpassword、ウェブサイトにサインインできません

form.add_field!('username', 'MY_USERNAME')
form.add_field!('password', 'MY_PASSWORD')

page = agent.submit form

puts page.body

この Web サイトでのログインを自動化する方法を知っている人はいますか?

4

2 に答える 2

1

一般に、次のようにします。

form['username'] = 'foo'
form['password'] = 'bar'

ただし、これらは正しいフィールド名ではありません。フィドラーやチャールズなどのssl(mitm)プロキシを介してブラウザリクエストをプロキシする適切なフィールド名を発見し、それが送信しているものを確認します。

あなたも変わる必要がありそうform.methodです。

于 2013-11-04T19:21:58.107 に答える