【问题标题】:How to get the `HREF` values only when `<legend>tax</legend>?仅当`<legend>tax</legend> 时如何获取`HREF` 值?
【发布时间】:2013-01-22 22:23:35
【问题描述】:
<fieldset class="attachmentTable large"><legend>SMF</legend>
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td>

<a href="

/aems/file/test.html">

</a>
</td>
<td>

foo     

</td>
</tr>
</table>
</fieldset>

<fieldset class="attachmentTable large"><legend>tax</legend>
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td>

<a href="

/relf/file/test.html">

</a>
</td>
<td>

foo     

</td>
</tr>
</table>
</fieldset>

我有一个来自网页的 html 源代码,上面给出了其中的一部分。现在我只想在 &lt;legend&gt;tax&lt;/legend&gt; 时获取 HREF 值?所以你们能帮我做同样的事情吗?

【问题讨论】:

  • 所以你的语言是红宝石?
  • 是的,我在 windows-xp 中使用的是 ruby​​1.9.3
  • 您是否尝试过使用像 Nokogiri 这样的 html 解析器?
  • 看起来mechanize 依赖于Nokogiri
  • 你是对的!我也有同感。

标签: ruby mechanize selenium-webdriver


【解决方案1】:

我愿意:

page.search('legend[text()="tax"] + table a').each do |a|
  puts a[:href]
end

【讨论】:

  • 我如何让machanze 代理到nokogiri?作为您的代码使用nokogiritable a 代表什么?
  • 页面可以是机械化页面或 nokogiri 文档。 + table a 表示表格紧跟在图例之后,而 a 从表格下降。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-09
  • 2014-02-13
  • 2014-10-05
  • 2011-09-02
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多