我需要在我的网站上使用facebook connect测试登录。当使用facebook按钮点击连接时,弹出窗口已打开。
我使用ie = Watir::Browser.attach(:title, 'Login | Facebook')
将这个新窗口分配给一个新对象。但不知何故,以前的浏览器对象也会引用新对象。
b = Watir::Browser.start( "http://www.pstom.com" )
b.link(:text, "Connect with Facebook").click
irb(main):081:0> puts b.title
PSToM - Home
=> nil
ie = Watir::Browser.attach(:title, 'Login | Facebook')
puts b.title
Login | Facebook
=> nil
irb(main):085:0> puts ie.title
Login | Facebook
=> nil
出了什么问题(我在Ubuntu的IRB中测试)
答案 0 :(得分:4)
我认为firewatir gem和附件存在问题。尝试使用watir-webdriver gem(它可以驱动Firefox)。
github:https://github.com/jarib/watir-webdriver
rubygems:https://rubygems.org/gems/watir-webdriver
安装:
https://github.com/zeljkofilipin/watirbook/blob/master/installation-ubuntu.md
https://github.com/zeljkofilipin/watirbook/downloads
答案 1 :(得分:0)
我在Windows / IE上得到了正确的行为。你有哪些版本?我有红宝石1.8.7和watir 1.7.1
irb(main):001:0> require 'watir'
=> true
irb(main):002:0> a = Watir::Browser.attach(:title, 'Google')
=> #<Watir::IE:0x4ecfde0 url="http://www.google.com/" title="Google">
irb(main):003:0> puts a.title
Google
=> nil
irb(main):004:0> b = Watir::Browser.attach(:title, 'Bing')
=> #<Watir::IE:0x4ea59d8 url="http://www.bing.com/" title="Bing">
irb(main):005:0> puts b.title
Bing
=> nil
irb(main):006:0> puts a.title
Google
=> nil
irb(main):007:0>