我正在使用第一列中包含链接的表:
html = Nokogiri::HTML(browser.html)
html.css('tr td a').each do |links|
browser.link(:text=>"#{a}").click
puts "#{a}"
end
如何显示链接的NEXT值? 如果链接名称是abcd但是下一个名字是efgh,我如何让它写出efgh?
答案 0 :(得分:0)
您应该能够使用您正在使用的数组中的索引来实现此目的。
thing = ['a', 'b', 'c', 'd']
(0..thing.length - 1).each do |index|
puts thing[index + 1]
end
答案 1 :(得分:0)
我不明白这里的用例(根本不是这样),但这个人为的例子可能会指出你想要去的方向。
使用links
方法创建link
个对象的数组。然后,您可以在第二个位置打印元素的text
,但单击第一个位置的元素。
require 'watir-webdriver'
b = Watir::Browser.new
b.goto('http://www.iana.org/domains/reserved')
nav_links = b.div(:class => "navigation").links
puts nav_links[1].text #=> NUMBERS
nav_links[0].click
puts b.url #=> http://www.iana.org/domains
Enumerable::each_with_index
方法也可能有用,因为它循环遍历数组的每个元素,并另外返回相应的元素位置。例如:
b.div(:class => "navigation").links.each_with_index { |el, i| puts el.text, i }
#=> DOMAINS
#=> 0
#=> NUMBERS
#=> 1
#=> PROTOCOLS
#=> 2
...