selenium.common.exceptions.SessionNotCreatedException:消息:无法创建新服务:OperaDriverService

时间:2018-08-07 10:24:43

标签: python selenium selenium-webdriver opera

操作系统:Ubuntu

我正在关注step 2.5 of this tutorial

1)我独立下载了两个版本的硒服务器:selenium-server-standalone-2.50.1.jarselenium-server-standalone-3.13.0.jar

2)我创建了一个名为test_selenium_server.py的文件:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

driver = webdriver.Remote(
   command_executor='http://127.0.0.1:4444/wd/hub',
   desired_capabilities=DesiredCapabilities.CHROME)

driver = webdriver.Remote(
   command_executor='http://127.0.0.1:4444/wd/hub',
   desired_capabilities=DesiredCapabilities.OPERA)

driver = webdriver.Remote(
   command_executor='http://127.0.0.1:4444/wd/hub',
   desired_capabilities=DesiredCapabilities.HTMLUNITWITHJS)

我安装了chromedriver和geckodriver。

当我先运行java -jar selenium-server-standalone-2.50.1.jar然后运行python test_selenium_server.py时,出现如下错误:

Traceback (most recent call last):
  File "test_selenium_server.py", line 12, in <module>
    desired_capabilities=DesiredCapabilities.OPERA)
...
selenium.common.exceptions.WebDriverException: Message: The best matching driver provider org.openqa.selenium.htmlunit.HtmlUnitDriver can't create a new driver instance for Capabilities [{browserName=opera, version=, platform=ANY}]
Build info: version: '2.50.1', revision: 'd7fc91b', time: '2016-01-29 19:08:26'
System info: host: 'AMDC2763', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-30-generic', java.version: '1.8.0_181'
Driver info: driver.version: unknown
...

当我先运行java -jar selenium-server-standalone-3.13.0.jar然后运行python test_selenium_server.py时,出现如下错误:

Traceback (most recent call last):
  File "test_selenium_server.py", line 12, in <module>
    desired_capabilities=DesiredCapabilities.OPERA)
...
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: OperaDriverService
Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:32:19.891Z'
System info: host: 'AMDC2763', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-30-generic', java.version: '1.8.0_181'
Driver info: driver.version: unknown
...

我已经尝试了python2和python3(它们都给出了相同的错误),并通过一半的互联网进行了搜索,但是什么也没找到。我相信有一个导致这些错误的问题,这就是为什么我在这里显示了两条错误消息。请帮助。

编辑:在MacOS High Sierra上,我遇到了相同的错误。

1 个答案:

答案 0 :(得分:1)

堆栈跟踪告诉我您尚未将Opera注册到您的(远程)本地硒服务器。

您提到的教程提供了3个不同 示例来启动不同类型的会话。

该教程似乎没有提到如何告诉您的服务器您有操作(并且可能与selenium-python不相关,因为它与selenium通用,与客户端python绑定无关)。 如果您需要测试多个浏览器,建议您将服务器启动为Selenium Grid,如here所述。您可以向其中注册一个Opera节点。