Watir 和 Safari 上的链接有问题吗?
我是第一次使用 watir,但我只能想象这是一个错误:
<块引用>需要“watir” Watir::Browser.default = 'safari' b = Watir::Browser.new b.转到() =>零 b.link(:title, "开始").click
预期引导我进入下一页,但在下一页上,即使链接存在,也没有链接起作用
<块引用>b.link(:title, "做某事").存在吗? =>正确
当我输入时
<块引用>b.link(:title, "做某事").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=法兰克福(Main)Hbf&Z=Nrnberg%20Hbf&date= %2B30&时间=1500&开始=1&") =>无
这也可以正常工作 - 链接确实存在:
<块引用>browser.link(:title, /Mit Tickets zum Normalpreis/).存在吗? =>正确
这不起作用 - 浏览器窗口保持不变:
<块引用>browser.link(:title, /Mit Tickets zum Normalpreis/).click =>无
我想尝试 fire_event 或 fireEvent 但 irb 说方法无效。我想我发现的有关触发事件的提示已经过时了?
I am new in using watir but I can only imagine this to be a bug:
require "watir"
Watir::Browser.default = 'safari'
b = Watir::Browser.new
b.goto()
=> nil
b.link(:title, "Start").click
Leads me to the next page as expected but on the following page no link works even they are there
b.link(:title, "Do something").exist?
=> true
When I then enter
b.link(:title, "Do something").click
nothing happens, even the href attribute of course links to the next page (to be more precise, it is the same page but different request parameters)
Identifying the link with :xpath looks similar.
The same thing works fine with "firefox" as browser.
I use Safari 5.0.1, ruby 1.8.7 and installed beside others safariwatir-0.3.8
In fact controlling safari partially works but I have no glue why it hangs on the second page. Here is an example using a scenario in the internet:
this works fine:
browser.goto("http://reiseauskunft.bahn.de/bin/query.exe/dn?S=Frankfurt(Main)Hbf&Z=Nrnberg%20Hbf&date=%2B30&time=1500&start=1&")
=> nil
this also works fine - the link does exist:
browser.link(:title, /Mit Tickets zum Normalpreis/).exist?
=> true
this does not work - the browser window stays unchanged:
browser.link(:title, /Mit Tickets zum Normalpreis/).click
=> nil
I would like to try fire_event or fireEvent but irb says invalid method. I guess the hints I found about firing an event are outdated?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
据我所知,驱动 Safari 的唯一方法是使用 safariwatir gem (仅适用于 Mac操作系统 X)。试试这个(来自 SafariWatir wiki 页面 Watir wiki):
As far as I know, the only way to drive Safari is to use safariwatir gem (works only on Mac OS X). Try this (from SafariWatir wiki page at Watir wiki):