【问题标题】:Parse HTML modified by Javascript解析 Javascript 修改的 HTML
【发布时间】:2013-01-28 02:24:56
【问题描述】:

我想在网页中提交一个表单,当我提交我的表单时,网络会使用 Javascript 添加一个新字段。我想解析这个新字段。 我使用的是 Mechanize,但它不是解释 javascript,我已经测试过 capybara,但我想在后台执行此操作

还有其他选择吗?

【问题讨论】:

  • 你写了什么?我们可以整天编写解决方案,但它们对您没有多大帮助,因为您必须重组代码以适应它。提供一个 sn-p 显示您的努力,我们可以纠正/建立。
  • javascript添加了一些表单域?用 ruby​​ 重现这听起来并不难。
  • @theTinMan 我什么都写不出来,我还是不知道gem会被使用。
  • @pguardiario 是的,javascript 动态添加表单字段,我想用 Ruby 解析这个

标签: ruby parsing html-parsing capybara mechanize


【解决方案1】:

使用 Capybara 在所有 Capybara 方法中启用的自动等待功能,您无需评估 Javascript 就可以更轻松地做到这一点。方法如:

find(locator)

将自动等待最多 2 秒。您可以通过将另一个值指定为 default_wait_time 来更改限制,例如:

Capybara.default_wait_time = 5

【讨论】:

  • 感谢您的回复,它可以工作,但我的 ruby​​ 代码必须在无法使用 GUI 的环境中运行,因此我无法使用 Capybara。任何想法?是否可以在后台运行?
  • 可以使用无头驱动。但是为什么你认为在你的环境中使用 webdriver 是不可能的?
  • 我在 CentOS 中运行我的应用程序,我无法安装 firefox 或 chrome,因为是没有 GUI 的服务器
【解决方案2】:

或许你可以试试Poltergeist。这是Capybara的某种无头驱动程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多