Watir 和 Safari 上的链接有问题吗?

发布于 2024-09-17 08:14:01 字数 1517 浏览 9 评论 0原文

我是第一次使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ぺ禁宫浮华殁 2024-09-24 08:14:01

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

require 'rubygems'
require 'safariwatir'
browser = Watir::Safari.new
browser.goto("http://google.com")

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):

require 'rubygems'
require 'safariwatir'
browser = Watir::Safari.new
browser.goto("http://google.com")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文