我是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">
有人能帮助我吗?非常感谢 ! ;)
答案 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}