Ich möchte die Methode Selenium::WebDriver.for
überschreiben. Das ist, was ich versucht:So überschreiben Klassenmethoden
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)
Aber ich habe Fehler beim Selenium::Webdriver.for(:phantomjs)
genannt wird.
NoMethodError: super: no superclass method `for' for Selenium::WebDriver::Driver:Class
Wie kann ich die ursprüngliche Methode von der übergeordneten Methode aufrufen?
Clever, danke! Wir verwenden dies nun, um 'NewRelic :: Agent :: Hostname.get' mit einem Fallback auf 'super' zu ändern. – Raffael