SessionNotCreatedException:消息:无法通过 Python 创建新服务:带有 ChromeDriver 和 SeleniumGrid 的 ChromeDriverService
SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService with ChromeDriver and SeleniumGrid through Python
嗨,任何人都知道发生了什么或者我如何调试错误如下。我所做的步骤是使用 setup hub 命令并将节点注册到集线器。在命令寄存器节点之后。我可以看到日志为
The node is registered to the hub and ready to use
然而,当我 运行 测试脚本时,我将错误打印为:
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
二进制版本:
- selenium 独立版本:3.14.0
- selenium远程驱动版本:selenium==3.14.1
- python版本:3.6.4
脚本:
import os
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME)
设置中心:
#java -jar /Users/admin/selenium-server-standalone-3.14.0.jar -host localhost -role hub
注册节点:
#java -jar /Users/admin/selenium-server-standalone-3.14.0.jar -role node
错误:
E selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
E Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
E Driver info: driver.version: unknown
E Stacktrace:
E at org.openqa.selenium.remote.server.ServicedSession$Factory.lambda$get[=16=] (ServicedSession.java:134)
E at org.openqa.selenium.remote.server.ServicedSession$Factory.apply (ServicedSession.java:151)
E at org.openqa.selenium.remote.server.ActiveSessionFactory.lambda$apply (ActiveSessionFactory.java:177)
E at java.util.stream.ReferencePipeline.accept (ReferencePipeline.java:193)
...
E at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:511)
E at java.util.concurrent.FutureTask.run (FutureTask.java:266)
E at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142)
E at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617)
E at java.lang.Thread.run (Thread.java:745)
../lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py:242: SessionNotCreatedException
这个错误信息...
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
...表示 ChromeDriver 无法 initiate/spawn 一个新的 ChromeDriverService.
命令和不兼容在您使用的二进制文件版本之间存在一些问题,如下所示:
- 你的 JDK 版本 是 1.8.0_91 相当古老.
- 将 JDK 升级到最近的水平 JDK 8u181。
要注册一个 Selenium Grid Hub,您需要使用以下命令:
>java -jar /Users/admin/selenium-server-standalone-3.14.0.jar -role hub
为ChromeDriver和[注册一个Selenium Grid NodeChrome 您需要传递 ChromeDriver 的绝对路径以及 Key 和 [ 注册URI的=26=]值如下:
>java -Dwebdriver.chrome.driver=/path/to/chromedriver.exe -jar /Users/admin/selenium-server-standalone-3.14.0.jar -role node -hub http://<IP_GRID_HUB>:4444/grid/register
我觉得你的代码块不错。
嗨,任何人都知道发生了什么或者我如何调试错误如下。我所做的步骤是使用 setup hub 命令并将节点注册到集线器。在命令寄存器节点之后。我可以看到日志为
The node is registered to the hub and ready to use
然而,当我 运行 测试脚本时,我将错误打印为:
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
二进制版本:
- selenium 独立版本:3.14.0
- selenium远程驱动版本:selenium==3.14.1
- python版本:3.6.4
脚本:
import os
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME)
设置中心:
#java -jar /Users/admin/selenium-server-standalone-3.14.0.jar -host localhost -role hub
注册节点:
#java -jar /Users/admin/selenium-server-standalone-3.14.0.jar -role node
错误:
E selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
E Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
E Driver info: driver.version: unknown
E Stacktrace:
E at org.openqa.selenium.remote.server.ServicedSession$Factory.lambda$get[=16=] (ServicedSession.java:134)
E at org.openqa.selenium.remote.server.ServicedSession$Factory.apply (ServicedSession.java:151)
E at org.openqa.selenium.remote.server.ActiveSessionFactory.lambda$apply (ActiveSessionFactory.java:177)
E at java.util.stream.ReferencePipeline.accept (ReferencePipeline.java:193)
...
E at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:511)
E at java.util.concurrent.FutureTask.run (FutureTask.java:266)
E at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142)
E at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617)
E at java.lang.Thread.run (Thread.java:745)
../lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py:242: SessionNotCreatedException
这个错误信息...
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
...表示 ChromeDriver 无法 initiate/spawn 一个新的 ChromeDriverService.
命令和不兼容在您使用的二进制文件版本之间存在一些问题,如下所示:
- 你的 JDK 版本 是 1.8.0_91 相当古老.
- 将 JDK 升级到最近的水平 JDK 8u181。
要注册一个 Selenium Grid Hub,您需要使用以下命令:
>java -jar /Users/admin/selenium-server-standalone-3.14.0.jar -role hub
为ChromeDriver和[注册一个Selenium Grid NodeChrome 您需要传递 ChromeDriver 的绝对路径以及 Key 和 [ 注册URI的=26=]值如下:
>java -Dwebdriver.chrome.driver=/path/to/chromedriver.exe -jar /Users/admin/selenium-server-standalone-3.14.0.jar -role node -hub http://<IP_GRID_HUB>:4444/grid/register
我觉得你的代码块不错。