当我关闭浏览器时,watir一直在使用(或点击ctrl + C并以此方式关闭它),我得到这些类型的错误...
b = Watir::Browser.new
#ctrl+C and closes browser window
b.url
Errno::ECONNREFUSED: Connection refused - connect(2)
...当我在watir对象上运行类似#url或#goto的东西时。
我尝试过像#closed这样的方法吗?和#closed对象,但它们不被识别。也尝试了这个:
b.methods - Object.methods
并仔细研究了可用的方法,但到目前为止还没有任何工作。
如果没有使用begin / rescue块响应引发的错误消息,我可以使用哪些方法来确定浏览器窗口是否已关闭?
奖金将是一种方法,可以让我重新初始化浏览器窗口,保持在此过程中的任何偏好。那将是最好的解决方案。
答案 0 :(得分:0)
使用存在?浏览器是否关闭的方法,browser.exists?如果浏览器打开则会为true,否则返回false。
答案 1 :(得分:0)
这里要回答我自己的问题,因为我不确定是否可以直截了当地回答。猴子修补时间。
class Watir::Browser
def try(meth)
begin
self.send(meth.to_sym)
true
rescue
false
end
end
def open?
if try(:exists?)
exists?
else
false
end
end
end
无法以何种方式关闭浏览器窗口。
我可以提交拉取请求
答案 2 :(得分:0)
关闭浏览器的正确方法是browser.quit
或browser.close
然后,您可以致电browser.exists?
,它将返回false
。发送ctrl+C
完全退出您的会话,因此您不再收听正在拨打电话的网址/端口,并且您将始终收到该错误。