操作系统:Ubuntu
我正在关注step 2.5 of this tutorial:
1)我独立下载了两个版本的硒服务器:selenium-server-standalone-2.50.1.jar
和selenium-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上,我遇到了相同的错误。
答案 0 :(得分:1)
堆栈跟踪告诉我您尚未将Opera注册到您的(远程)本地硒服务器。
您提到的教程提供了3个不同 示例来启动不同类型的会话。
该教程似乎没有提到如何告诉您的服务器您有操作(并且可能与selenium-python不相关,因为它与selenium通用,与客户端python绑定无关)。 如果您需要测试多个浏览器,建议您将服务器启动为Selenium Grid,如here所述。您可以向其中注册一个Opera节点。