我想要quit
一个Selenium WebDriver
实例,如果它存在
d = Selenium::WebDriver.for :phantomjs
=> #<Selenium::WebDriver::Driver:0x1c387eba browser=:phantomjs>
irb(main):023:0> d.quit
=> nil
irb(main):024:0> d.quit
Errno::ECONNREFUSED: No connection could be made because the target machine actively refused it. - connect(2)
不检查驱动程序是否存在,会导致这样的错误。我想像d.quit if d.exists?
那样写,但是好像没有这样的方法。http://rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium/WebDriver/Driver
如何和平退出WebDriver
?
按照@Yevgeniy的建议,我写了这样的文章。
class Selenium::WebDriver::Driver
def exists?
self.window_handle
return true
rescue Errno::ECONNREFUSED
return false
end
end