我明白要处理歌剧版本> 12.X,Operachromiumdriver已经开发出来。与此同时,我无法让它发挥作用。我从https://github.com/operasoftware/operachromiumdriver/releases下载了windows版本的operachromiumdriver.exe但无济于事。有人可以帮我弄这个吗 。如果我的理解是正确的,请告诉我。
由于
答案 0 :(得分:5)
我找到了使用OperaChromiumDriver.exe运行opera 25+的解决方案。
使用以下代码打开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");
我使用过new ChromeDriver()
。这将启动Opera,因为我们正在使用OperaChromiumDriver
。我认为这是因为新的Opera基于Chromium而OperaChromiumDriver是一个源自ChromeDriver的WebDriver实现[见https://github.com/operasoftware/operachromiumdriver]。
希望这会对你有所帮助。
答案 1 :(得分:2)
<强> Operachromiumdriver 强>
下载selenium Drivers。由于他们不是直接的Opera驱动程序,OperaChromiumDriver基于ChromeDriver,因此我们使用ChromeOptions设置operadriver.exe的二进制位置
从版本26开始的基于Chromium的Opera版本。
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/");
感谢Lukus答案(1)完成我的工作。
答案 2 :(得分:1)
OperaChromiumDriver现在可以与Opera 26+配合使用,但目前只能使用远程实例...从
下载并启动相应的二进制文件OperaChromiumDriver Binary Releases
他们在python中有桌面版本的例子,但这里有用Java的东西。许多ChromeOptions不起作用,虽然它说它们应该......你必须测试才能确定,但是setBinary确实有效。
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);