ruby watir获取页面的HTML

时间:2012-02-15 22:51:29

标签: ruby watir watir-webdriver

我查看了这些页面上的示例

http://watir.com/examples/ http://wiki.openqa.org/display/WTR/Examples

我仍然没有看到获取网页html的简单示例。

browser = Watir::Browser.new
browser.goto 'mysite.com'

我试过了

puts browser.text

似乎没有用。

由于

4 个答案:

答案 0 :(得分:21)

这应该这样做:

puts browser.html

答案 1 :(得分:2)

puts browser.html

将返回所有的html,如果您只想打印活动对象,可以使用:

puts browser.show_active

同样,如果您只想打印链接,可以使用:

puts browser.show_links

答案 2 :(得分:1)

IE8,Ruby 1.9.3,Watir 3.0,WindowsXP

我需要在id =“numberCovered”的单元格中抓取文本。

<table cellpadding="0" cellspacing="0"  class="thisThemeBodyColor"><tr style="height:22px;"><td id="numberCoveredlabel" style="cursor:default;" class="smallHeadingBlack" width="200">Number of individuals to be covered</td><td id="numberCovered" class="smallHeadingBlack" style="font-weight:bold;">1</td><input type="hidden" name="numberCovered" tooltip="" value="1" onpropertychange="variableAsTextChanged(this);"/></tr><tr><td id="numberSpouseslabel" style="cursor:default;" class="smallHeadingBlack" width="200">Number of spouses to be covered</td><td id="numberSpouses" class="smallHeadingBlack" style="font-weight:bold;">0</td><input type="hidden" name="numberSpouses" tooltip="" value="0" onpropertychange="variableAsTextChanged(this);"/></tr></table>

正如@icn所提到的,当你找不到合适的Watir内置方法时,原始页面源转储有时很好地作为后备。

- Update-- 上面提到的$ browser.html正在喷出空行,但这看起来很有效:

require 'nokogiri'
page_html = Nokogiri::HTML.parse($browser.html)
entry = page_html.css('td[id=numberCovered]')

答案 3 :(得分:0)

puts browser.html将返回页面上的所有对象。如果您只想要活动对象,则可以使用puts browser.show_active,如果您只希望显示链接,则可以使用puts browser.show_links来显示页面上的所有链接。