1
私はgoogle play developer consoleにルビーを使用しようとしています。しかし、まず私はログインする必要があります。私はこのようにしようとしています:Googleでログインして機械的にルビーに
def try_post(url, body = {}, headers = {})
unless @agent #This just creates a new mechanize instance
setup
end
puts 'Logging in'
# Hardcoded for testing purposes
@agent.get 'https://accounts.google.com/ServiceLogin?service=androiddeveloper&passive=1209600&continue=https://play.google.com/apps/publish/%23&followup=https://play.google.com/apps/publish/#identifier'
form = @agent.page.forms.find {|f| f.form_node['id'] == "gaia_loginform"}
unless form
raise 'No login form'
end
form.field_with(:id => "Email").value = @config.email
form.click_button
form = @agent.page.forms.find {|f| f.form_node['id'] == "gaia_loginform"}
unless form
raise 'No login form'
end
form.field_with(:name => "Passwd").value = @config.password
form.click_button
if @agent.page.uri.host != "play.google.com"
STDERR.puts "login failed? : uri = " + @agent.page.uri.to_s
raise 'Google login failed'
end
# @agent.post(url, body)
end
しかし、これはすばらしく失敗します。私はいくつかの他の方法(Passwd-hidden
を埋め込み、id
などでフィールドを見つけようとしました)を試みましたが、運はありません。私はパスワードが最後にputs @agent.page.body
を試してから入力されないと思いますclick_button
私はHTMLのどこかにパスワードのテキストを入力します。
私は間違っていますが、どうすれば修正できますか?