Chcę zastąpić metodę Selenium::WebDriver.for
. To, co starałem:Jak zastąpić metody klasy
module SeleniumWebDriverExtension
def self.for(browser, *args)
if browser != :phantomjs
super(browser, *args)
else
options = {
"phantomjs.cli.args" => ["--ssl-protocol=tlsv1"]
}
capabilities = Selenium::WebDriver::Remote::Capabilities.phantomjs(options)
super(browser, desired_capabilities: capabilities)
end
end
end
Selenium::WebDriver.prepend(SeleniumWebDriverExtension)
Ale mam błąd podczas Selenium::Webdriver.for(:phantomjs)
nazywa.
NoMethodError: super: no superclass method `for' for Selenium::WebDriver::Driver:Class
Jak mogę wywołać oryginalną metodę z metody przesłaniania?
Sprytnie, dzięki! Teraz używamy tego, aby zmienić 'NewRelic :: Agent :: Hostname.get' z powrotem do super. – Raffael