2

我是使用 watir 的新手,但我只能想象这是一个错误:

需要 "watir" Watir::Browser.default = 'safari' b = Watir::Browser.new b.goto() => nil b.link(:title, "Start").click

按预期引导我到下一页,但在下一页上,即使它们在那里也没有链接

b.link(:title, "做某事"). 存在吗?=> 真

当我然后进入

b.link(:title, "Do something").click 什么也没发生,连href属性当然也链接到了下一页(更准确的说是同一个页面但是请求参数不同)

用 :xpath 识别链接看起来很相似。使用“firefox”作为浏览器也可以正常工作。

我使用 Safari 5.0.1、ruby 1.8.7 并安装在其他人旁边 safariwatir-0.3.8


事实上,控制 safari 部分有效,但我不知道为什么它会挂在第二页上。这是一个使用互联网场景的示例:

这工作正常:

browser.goto(" http://reiseauskunft.bahn.de/bin/query.exe/dn?S=Frankfurt(Main)Hbf&Z=Nrnberg%20Hbf&date=%2B30&time=1500&start=1& ") => nil

这也可以正常工作 - 链接确实存在:

browser.link(:title, /Mit Tickets zum Normalpreis/).exist? => 真

这不起作用 - 浏览器窗口保持不变:

browser.link(:title, /Mit Tickets zum Normalpreis/).click => nil

我想尝试 fire_event 或 fireEvent 但 irb 说方法无效。我猜我发现的关于触发事件的提示已经过时了?

4

1 回答 1

0

据我所知,驱动 Safari 的唯一方法是使用safariwatir gem(仅适用于 Mac OS X)。试试这个(来自Watir wiki的SafariWatir wiki 页面):

require 'rubygems'
require 'safariwatir'
browser = Watir::Safari.new
browser.goto("http://google.com")
于 2010-09-02T10:14:14.220 回答