0

我有一个 facebook 应用程序,我想使用 Watir 进行测试。问题是我无法访问它的 div。位于 iframe 内。我能找到它,它甚至说它是可见的。问题是我不能点击它(它说它在尝试时是不可见的)

你能帮忙吗?我使用 XXX 而不是用户名和 Facebook 的不同应用发布了我的代码。

非常感谢。

require "watir-webdriver"

browser  = Watir::Browser.new
browser.goto "http://www.facebook.com"

sleep(2)
if browser.text_field(:id => 'pass').exists?
   browser.text_field(:id => 'email').set 'XXXXXXXXX'
   browser.text_field(:id => 'pass').set 'ZZZZZZZ'
   browser.button(:value => 'Log In').click
end
sleep(2)
browser.text_field(:id => 'q').set 'World Of Fun'
browser.send_keys :enter
sleep (2)

browser.goto "https://www.facebook.com/dialog/oauth?client_id=277448022299830&redirect_uri=http%3A//apps.facebook.com/worldoffun/%3Fref%3Dts&canvas=1&fbconnect=0&scope=email,publish_actions"
sleep (2)

if browser.button(:name => 'grant_clicked').exists?
  browser.button(:name => 'grant_clicked').click
  sleep(3)
end
sleep(1)
4

1 回答 1

1

那是因为您尝试识别的元素不在该页面上,请尝试以下操作:

  if browser.label(:id => 'grant_clicked').exists?
  browser.label(:id => 'grant_clicked').click
  sleep(3)

我还注意到该应用程序在 Flash 中,因此 Watir 将无法处理其中的 Flash 元素,我建议将AutoItProject Sikuli与 Watir-Webdriver 一起使用。

于 2012-05-14T06:09:16.273 回答