【问题标题】:How to extract Data from JSP applete page from watir ruby and nokogiri如何从 watir ruby​​ 和 nokogiri 中提取 JSP 小程序页面中的数据
【发布时间】:2016-04-11 18:46:55
【问题描述】:

我正在尝试使用具有一些禁用字段的 ruby​​、Watir-webdriver 和 Nokogiri 来抓取表单值。

<input type="text" value="Would be auto populated based on Requirement ID" class="form-control" id="SkillId" disabled="disabled" name="SkillId">   

但在显示中显示值“Java,Oracles,Mysql

我想废弃这些数据,我使用了以下代码

doc.at('input[@name="SkillId"]')['value']

但它会提取“将根据要求自动填充

请帮助如何提取禁用的字段数据。

我试过了

doc.at('input[@disabled="disabled"]')

这仅给出具有实际值的禁用字段值,但是在删除禁用属性后何时出现值。

【问题讨论】:

  • “Java、Oracles、Mysql”如何显示?我只看到文本字段显示valueplaceholder 属性?
  • 嗨贾斯汀看我附上的截图
  • 这会给你所有被禁用的输入doc.at('input[@disabled="disabled"]')
  • 这很有趣。您确定您正在查看正确元素的 HTML 吗?该控件是由哪个库生成的?
  • 听起来您在谈论从使用 DHTML 更改的标签/字段中提取信息。 Nokogiri 无法为您提供帮助,除非您可以在 DHTML 修改它之后捕获该 HTML。在浏览器中关闭 JavaScript 并查看页面,或在命令行中使用 nokogiri your_urlwget your_url 看看是否可以找到信息。如果没有,则 DHTML 正在进行中,在浏览器加载后修改内容。

标签: javascript html ruby nokogiri watir-webdriver


【解决方案1】:

我会使用类似的东西:

require 'nokogiri'

doc = Nokogiri::HTML(<<EOT)
<html>
  <body>
    <form>
      <input name="foo">
      <input name="bar" disabled>
      <button disabled>Foo</button>
    </form>
  </body>
</html>
EOT

doc.search('[disabled]').map(&:to_html) # => ["<input name=\"bar\" disabled>", "<button disabled>Foo</button>"]

搜索所有带有disabled 参数的标签。

doc.search('input[disabled]').map(&:to_html) # => ["<input name=\"bar\" disabled>"]

仅搜索带有disabled 参数的&lt;input&gt; 标记。

【讨论】:

  • 您好,这只显示禁用的字段。我想要禁用字段中的值。 自动填充。我想提取值。作为以前的解决方案 doc.at('input[@ disabled="disabled"]') 这给出了需求 id 的值。我想提取所有这样的值。
  • 该解决方案让您了解如何获取所需数据。 Stack Overflow 不是一个“为我编写代码的网站”,而是向您展示如何做事。您仍然可以阅读文档并研究您可以做的其他事情。在 SO 上还有 许多 其他问题,展示了如何在知道节点后提取特定参数的值。
  • 在搜索了大部分问题后,我发布了这个问题。没问题,我正在再次尝试找到一些可行的方法。
【解决方案2】:

试试这个代码:

doc.at('input[@disabled="disabled"]')

【讨论】:

  • 但它仅适用于第一个元素。你能建议如何提取其他元素吗?
  • 回答的时候不要乱扔代码。解释它为什么起作用以及为什么应该使用它。我们希望帮助人们学习,而不仅仅是解决眼前的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-26
  • 2012-02-04
  • 1970-01-01
  • 2013-10-24
  • 1970-01-01
相关资源
最近更新 更多