Drive Opera with selenium python Drive Opera with selenium python selenium selenium

Drive Opera with selenium python


The code below worked for me on the following setup. Hope this helps.

  • Python: 3.4.0
  • Opera: 42.0.2393.94
  • Selenium: 3.0.2
  • ChromeDriver: 2.27.440174

    import osfrom selenium import webdriverfrom selenium.webdriver.common import desired_capabilitiesfrom selenium.webdriver.opera import options_operaDriverLoc = os.path.abspath('E:\\Envs\\PySelEnv\\selserver\\chromedriver.exe')  # Replace this path with the actual path on your machine._operaExeLoc = os.path.abspath('E:\\Program Files\\Opera\\42.0.2393.94\\opera.exe')   # Replace this path with the actual path on your machine._remoteExecutor = 'http://127.0.0.1:9515'_operaCaps = desired_capabilities.DesiredCapabilities.OPERA.copy()_operaOpts = options.ChromeOptions()_operaOpts._binary_location = _operaExeLoc# Use the below argument if you want the Opera browser to be in the maximized state when launching. # The full list of supported arguments can be found on http://peter.sh/experiments/chromium-command-line-switches/_operaOpts.add_argument('--start-maximized')   self._browserDriver = webdriver.Chrome(executable_path = _operaDriverLoc, chrome_options = _operaOpts, desired_capabilities = _operaCaps)


Based on your question it looks like you are using an old driver for Opera version 12 and older. Assuming that you're trying to use the most recent version of Opera you'll want to use the driver available at the following site: OperaChromiumDriver

The site lists sample python code which I have confirmed works on my machine to open and drive Opera: Python Examples for OperaChromiumDriver

import timefrom selenium import webdriverfrom selenium.webdriver.chrome import servicewebdriver_service = service.Service('C:\\Users\\Kris\\Downloads\\WinPython-32bit-2.7.9.2\\operadriver.exe')webdriver_service.start()driver = webdriver.Remote(webdriver_service.service_url, webdriver.DesiredCapabilities.OPERA)driver.get('https://www.google.com/')input_txt = driver.find_element_by_name('q')input_txt.send_keys('operadriver\n')time.sleep(5) #see the resultdriver.quit()

EDIT:Looking into the change logs for selenium it looks like support for Presto-based Operas was discontinued after 2.45 which is why you're getting the error messages:CHANGELOG


from selenium import webdriverdriver=webdriver.Chrome('C:\\Users\\abc\\Projects\\TestProject\\operadriver.exe')driver.get('https://www.google.com/')

/*

Just give the location of operadriver.exe ... as above It will open Opera browser... instead of chrome Browser


you can download opera driver here : https://github.com/operasoftware/operachromiumdriver

*/