Drive Opera with selenium python

前端 未结 3 1332
深忆病人
深忆病人 2020-12-10 09:31

I added to my environment variable

SELENIUM_SERVER_JAR = C:\\selenium_drivers\\selenium-server-standalone.jar

Which I downloaded here http

相关标签:
3条回答
  • 2020-12-10 10:08
    from selenium import webdriver
    
    driver=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

    */

    0 讨论(0)
  • 2020-12-10 10:17

    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 os
      
      from selenium import webdriver
      from selenium.webdriver.common import desired_capabilities
      from 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)
      
    0 讨论(0)
  • 2020-12-10 10:22

    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 time
    
    from selenium import webdriver
    from selenium.webdriver.chrome import service
    
    
    webdriver_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 result
    driver.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

    0 讨论(0)
提交回复
热议问题