使用watir在命令行中显示搜索到的链接url

时间:2016-01-22 15:05:52

标签: ruby-on-rails ruby testing watir watir-webdriver

我是Ruby的新手,现在我正在尝试使用watir。所以我需要在命令行中显示所有已创建的URL。这是我的代码的开头:

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

<label for="tags">Tags:</label>
<input id="tags">

有人能帮助我吗?非常感谢 ! ;)

2 个答案:

答案 0 :(得分:1)

链接存储在h3标记内,类名为&#39; r&#39;,因此您可以通过以下方式获取链接元素的集合:

links = browser.h3s(class: 'r').map(&:link)

url存储在href标记中,因此您可以通过以下方式获取href值数组:

hrefs = links.map(&:href)

所以打印一下:

hrefs.each { |href| puts href }

但是其中一些href会通过重定向,所以你可能想要这样做:

links.each { |link| puts "#{link.data_href || link.href}" }

答案 1 :(得分:0)

这是从特定页面元素中提取链接的通用方法。它指定容器元素(即div标记),收集该容器中的links,并为每个链接(或每个text - 打印href - 取决于块中指定的内容:

require 'watir-webdriver'
b = Watir::Browser.new 
b.goto('http://www.iana.org/domains/reserved')

b.div(class: "navigation").links.each { |link| puts link.text}
b.div(class: "navigation").links.each { |link| puts link.href}