【问题标题】:Google Search Automation Script using Watir webdriver使用 Watir webdriver 的 Google 搜索自动化脚本
【发布时间】:2015-01-28 03:39:51
【问题描述】:

我必须在 watir webdriver 中运行一个 ruby​​ 脚本来自动化 google 搜索。然后点击谷歌搜索结果中的第一个链接并检查我的搜索词是否存在于该页面上。到目前为止,我能够到达自动搜索部分的步骤,但我无法点击第一个链接。这是我目前所拥有的:

    require 'rubygems'
require 'watir-webdriver'
b = Watir::Browser.new
b.goto 'http://google.com'
b.text_field(:name,'q').set 'santa clara university'
b.button(:name,'btnG').click
b.link(:href, 'http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd…usg=AFQjCNHi39wrFlDMd6h8oAmkVgpkA6kYeQ&bvm=bv.84607526,d.cGU').fire_event('onmousedown')

我正在尝试使用“onmousedown”标签下提到的 href 字段单击第一个链接。有人可以帮忙吗?

【问题讨论】:

  • 我不知道谷歌是否希望你这样做。但如果必须,只需使用 :text 定位器。
  • 我尝试使用 :text 定位器,但它没有获取任何结果。
  • 对使用 RSpec 和 Capybara 进行脚本测试感兴趣吗?
  • 那个链接应该去哪里?我在任何地方都看不到那个 URL。无论如何,由于页面的异步加载,这可能是一个时间问题。尝试使用其中一种等待方法,例如when_present
  • @JustinKo 该链接应该是第一个结果的链接

标签: ruby watir-webdriver


【解决方案1】:

google 搜索结果中的所有链接都有 h3 标题和类 'r',所以你可以使用 te next 语句:

b.h3s(:class=>'r')[0].click 

打开结果中的第一个链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多