I understand that to work on opera versions > 12.X, Operachromiumdriver has been developed. At the same time I couldn\'t get this to work. I downloaded the windows version o
I have found the solution running opera 25+ using OperaChromiumDriver.exe.
Use the following code to open Opera
System.setProperty("webdriver.chrome.driver", "C:/Users/user/Downloads/operadriver-0.1.0-win32/operadriver-0.1.0-win32.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
driver.findElement(By.name("q")).sendKeys("Selenium");
I have used new ChromeDriver()
. This will start Opera since we are using OperaChromiumDriver
. I think this is because the new Opera is based on Chromium and OperaChromiumDriver is a WebDriver implementation derived from ChromeDriver [See https://github.com/operasoftware/operachromiumdriver].
Hope this helps you.
Operachromiumdriver
Download selenium Drivers. As their is no direct opera driver, OperaChromiumDriver is based on ChromeDriver, so we are Using ChromeOptions to set binary location of operadriver.exe
Chromium-based versions of Opera starting from version 26.
String operaChromiumDriver = "E:\\Drivers\\operadriver.exe";
String operaBrowserLocation = "C:\\......\\opera.exe"
System.setProperty("webdriver.opera.driver", operaChromiumDriver);
ChromeOptions options = new ChromeOptions();
options.setBinary(operaBrowserLocation);
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
OperaDriver browser = new OperaDriver(capabilities);
WebDriver driver =browser;
driver.get("https://in.yahoo.com/");
thanks to Lukus Answer(1) to complete my work.
OperaChromiumDriver now works with Opera 26+ but only with a remote instance so far... Download and launch the appropriate binary from
OperaChromiumDriver Binary Releases
They have examples for Desktop versions in python but here's what worked for me in Java. Many ChromeOptions do not work though it says they should... you will have to test to know for sure but the setBinary does work.
DesiredCapabilities capabilities = DesiredCapabilities.opera();
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/opera");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver = new RemoteWebDriver(new URL("http://127.0.0.1:9515"),capabilities);