如何将OperaChromiumDriver用于Opera版本> 12.X.

时间:2014-12-06 10:12:26

标签: selenium-webdriver opera

我明白要处理歌剧版本> 12.X,Operachromiumdriver已经开发出来。与此同时,我无法让它发挥作用。我从https://github.com/operasoftware/operachromiumdriver/releases下载了windows版本的operachromiumdriver.exe但无济于事。有人可以帮我弄这个吗 。如果我的理解是正确的,请告诉我。

由于

3 个答案:

答案 0 :(得分:5)

我找到了使用OperaChromiumDriver.exe运行opera 25+的解决方案。

  1. 安装Opera 25+(我安装了Opera 25)
  2. 下载OperaChromiumDriver https://github.com/operasoftware/operachromiumdriver/releases
  3. 将zip文件解压缩到计算机上的某个位置
  4. 使用以下代码打开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");
    
  5. 我使用过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);