0

我正在 ark.com 上对此进行测试..

以下代码非常适用于带有 watir-webdriver 的 firefox,但分别给我 google chrome 和 opera 浏览器的错误。

继承人的代码:

require "rubygems"
require "watir-webdriver"

b = Watir::Browser.new :ff
b.goto "http://www.ark.com"

# Signing in
7.times{b.link(:text, "Sign in").flash}
sleep 3
b.link(:text, "Sign in").click
sleep 3
# Popup
b.text_field(:name, "login_email").set "email@gmail.com"
b.send_keys :tab
b.text_field(:name, "login_password").set "password"
b.button(:value, "Sign in").click
puts b.title

如下更改代码会给我错误:

b = Watir::Browser.new :chrome 

或者

b = Watir::Browser.new :opera

我收到以下错误消息:

You may only interact with visible elements (Selenium::WebDriver::Error::ElementNotVisibleError)

我尝试了以下堆栈溢出建议但无济于事如何使用 Watir::Waiter::wait_until 强制 Chrome 等待?

此外,我的代码在 Firefox 中完美运行,但在其他浏览器中却没有,为什么会这样?任何帮助,将不胜感激。谢谢。

4

2 回答 2

3

如其他一些帖子中所述,您可以使用以下命令全屏显示浏览器:

screen_width = b.execute_script("return screen.width;")
screen_height = b.execute_script("return screen.height;")
b.driver.manage.window.resize_to(screen_width,screen_height)
b.driver.manage.window.move_to(0,0)

然后就像 anonygoose 说的那样,登录链接应该在那里(假设你的屏幕不是太小)。

于 2012-04-30T14:17:30.067 回答
1

在 Chrome 和 Firefox 中查看该网站,我会说它存在某种错误或不需要的功能。

如果您使用的网络浏览器宽度太窄,则注册按钮会完全消失。

我会说这就是为什么你会遇到奇怪的错误。

通过在 Chrome 浏览器启动后立即将其最大化来对此进行测试。根据我的测试,这允许找到注册按钮。

我不确定默认情况下最大化任一浏览器的方法,但也许这里的其他人会知道或能够建议一种方法来解决它。

于 2012-04-30T14:08:36.437 回答