首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ruby上使用机械化的Google登录

在ruby上使用机械化的Google登录
EN

Stack Overflow用户
提问于 2016-05-11 06:53:21
回答 1查看 577关注 0票数 1

我正试着用红宝石到达google play developer控制台。但我得先登录。我试着这样做:

代码语言:javascript
复制
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时,我在click_button中的某个地方看到了输入密码文本。

我做错了什么,我该如何解决呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-22 19:18:37

我一直在探索更多,并发现这不是那么简单,我无法以任何方式登录机械化。

因此,我最终使用了瓦蒂尔,这是相当简单和简单的。下面是一个例子:

代码语言:javascript
复制
browser.goto LOGIN_URL

browser.text_field(:id, 'Email').set @config.email
browser.button(:id, 'next').click

browser.text_field(:id, 'Passwd').wait_until_present
browser.text_field(:id, 'Passwd').set @config.password
browser.button(:id, 'signIn').click

# Here I wait until an element on my target page is visible and then continue
browser.link(:href, '#SOMETHING').wait_until_present

希望能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37155148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档