【问题标题】:Click on a button outside a form (Ruby Mechanize)单击表单外的按钮(Ruby Mechanize)
【发布时间】:2014-03-29 06:37:03
【问题描述】:

我正在尝试通过单击使用 Ruby Mechanize 的任何表单之外的按钮来更新此页面。有谁知道这是否可能?我知道我不能使用标准按钮提交。下面是按钮周围的 html 的 sn-p

<div class="details-section-contents">

  <div class="details-section-heading"></div>
  <div class="details-section-body expandable" data-load-more-section-id="reviews" data-load-more-docid="com.microsoft.office.officehub">
    <div></div>
    <button class="expand-button expand-next" style="display: block;">
        <div class="arrow-image-wrapper"></div>
        <div class="play-button"></div>
          ...

【问题讨论】:

  • 如果我们能看到 html,也许我们可以提供帮助。
  • 我会发一点。来自 Google Play 商店
  • 你能给出页面的完整网址吗?或许你可以另辟蹊径
  • 你想点击哪个按钮..
  • 完整网址:play.google.com/store/apps/…我要触摸第一个按钮

标签: ruby mechanize mechanize-ruby


【解决方案1】:

由于您没有提供有关该网站的太多信息,我只为您提供一般方法。

假设您要单击一个按钮。这可能会触发一个 http 请求,如下所示:http://www.somesite.com/sub?params=1234。 (我相信您可以弄清楚按钮执行的操作。)

为了得到他的回应,你可以这样做:

Mechanize.new.get('http://www.somesite.com/sub?params=1234').parser

注意:如果您希望将站点解析为 Nokogiri 节点树,请仅附加 .parser 方法调用。

【讨论】:

  • 我知道我可以做到这一点,但我的目标是制作一种适用于 Google Play 商店中多个特定页面的工具(一种可以根据应用名称收集应用评论的工具)
  • 此外,经过仔细检查,单击按钮时 url 根本没有变化。更多的项目只是出现在页面上
  • 在这种情况下,你不能对 Mechanize 做任何事情,因为它无法解释 Javascript。
  • 添加的项目在 ajax 响应中。没关系,Mechanize 会向您展示,但您需要弄清楚。或者你可以放弃并使用 Watir。
猜你喜欢
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-12
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 2016-06-23
相关资源
最近更新 更多