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

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

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

browser = Watir::Browser.new 

puts "1. Entering Google"
browser.goto "http://www.google.com"
search_text = "text"
puts " 2. enter "+ search_text +" in the search text field."
browser.text_field(:name, "q").set search_text
puts "3. click the 'Google Search' button."
browser.button(:name, "btnG").click
puts " First 10 links: "

有人可以帮助我吗?多谢 ! ;)

最佳答案

链接存储在类名为'r'的h3标签中,因此您可以通过以下方式获取链接元素的集合:

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

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

hrefs = links.map(&:href)

所以要打印这个:

hrefs.each { |href| puts href }

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

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

关于ruby-on-rails - 使用 watir 在命令行中显示搜索到的链接 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34949773/

相关文章:

ruby-on-rails - Rails 中的 A/B 拆分测试有哪些资源?

ruby-on-rails - 这些 where 语句之间有什么区别?

rspec - 测试 before_filter 被调用

ruby - Ruby 中的字符串是可变的吗?

java - Junit 4,如何禁用每个测试方法创建新的测试实例

jquery - 如何在当前 View 内渲染另一个页面( Controller 操作+ View )

ruby - Paypal SDK/Ruby on Rails/SetExpressCheckout

python - 如何使用 httpretty/sure 执行 python 测试

Python Django REST API 测试

ruby-on-rails - 更改 ruby​​ 版本后 Unicorn Web 服务器不会启动