SessionNotCreatedException:消息:无法创建新服务:使用 Selenium 3.14.0 和 Python 3.7.3 的 ChromeDriverService
SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService with Selenium 3.14.0 and Python 3.7.3
Python 3.7.3
Pycharm 2019.1.3
selenium 独立版 3.14.0
硒 3.141.0
Java JDK 12.0.2
Windows 7
当我尝试使用远程 webdriver 编写 运行 脚本时出现错误,我的
java.version 不是我预期的(预期版本至少为 12。):
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
System info: host: 'host_name', ip: 'localhost', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_221'
Driver info: driver.version: unknown
Stacktrace:
at org.openqa.selenium.remote.server.ServicedSession$Factory.lambda$get[=11=] (ServicedSession.java:134)
at org.openqa.selenium.remote.server.ServicedSession$Factory.apply (ServicedSession.java:151)
at org.openqa.selenium.remote.server.ActiveSessionFactory.lambda$apply (ActiveSessionFactory.java:177)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.Spliterators$ArraySpliterator.tryAdvance (None:-1)
at java.util.stream.ReferencePipeline.forEachWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyIntoWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyInto (None:-1)
at java.util.stream.AbstractPipeline.wrapAndCopyInto (None:-1)
at java.util.stream.FindOps$FindOp.evaluateSequential (None:-1)
at java.util.stream.AbstractPipeline.evaluate (None:-1)
at java.util.stream.ReferencePipeline.findFirst (None:-1)
at org.openqa.selenium.remote.server.ActiveSessionFactory.apply (ActiveSessionFactory.java:180)
at org.openqa.selenium.remote.server.NewSessionPipeline.lambda$null (NewSessionPipeline.java:65)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.Collections.tryAdvance (None:-1)
at java.util.stream.ReferencePipeline.forEachWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyIntoWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyInto (None:-1)
at java.util.stream.AbstractPipeline.wrapAndCopyInto (None:-1)
at java.util.stream.FindOps$FindOp.evaluateSequential (None:-1)
at java.util.stream.AbstractPipeline.evaluate (None:-1)
at java.util.stream.ReferencePipeline.findFirst (None:-1)
at org.openqa.selenium.remote.server.NewSessionPipeline.lambda$createNewSession (NewSessionPipeline.java:68)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.DistinctOps.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.Streams$StreamBuilderImpl.tryAdvance (None:-1)
at java.util.stream.Streams$ConcatSpliterator.tryAdvance (None:-1)
at java.util.stream.ReferencePipeline.forEachWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyIntoWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyInto (None:-1)
at java.util.stream.AbstractPipeline.wrapAndCopyInto (None:-1)
at java.util.stream.FindOps$FindOp.evaluateSequential (None:-1)
at java.util.stream.AbstractPipeline.evaluate (None:-1)
at java.util.stream.ReferencePipeline.findFirst (None:-1)
at org.openqa.selenium.remote.server.NewSessionPipeline.createNewSession (NewSessionPipeline.java:71)
at org.openqa.selenium.remote.server.commandhandler.BeginSession.execute (BeginSession.java:65)
at org.openqa.selenium.remote.server.WebDriverServlet.lambda$handle (WebDriverServlet.java:250)
at java.util.concurrent.Executors$RunnableAdapter.call (None:-1)
at java.util.concurrent.FutureTask.run (None:-1)
at java.util.concurrent.ThreadPoolExecutor.runWorker (None:-1)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (None:-1)
at java.lang.Thread.run (None:-1)
我已经尝试重新安装 java JDK 但版本保持不变 - 1.8。0_221
我在 python 中的代码:
driver = webdriver.Remote(
command_executor='http://10.20.10.193:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME)
driver.get('https://google.com')
设置硒服务器:
java -jar selenium-server-standalone-3.14.0.jar
我做错了什么?
这个错误信息...
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
System info: host: 'host_name', ip: 'localhost', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_221'
Driver info: driver.version: unknown
...表示 ChromeDriver 未被识别。
您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:
Selenium Client Driver 页面提及:
支持的Python 版本:
Python 2.7, 3.4+
但是selenium 3.141.0页面上的列表只包括:
-
-
-
-
所以可能 Python 3.7.3 仍然不受支持,您可能需要将 python 降级到相关版本。
结尾
Python 3.7.3
Pycharm 2019.1.3
selenium 独立版 3.14.0
硒 3.141.0
Java JDK 12.0.2
Windows 7
当我尝试使用远程 webdriver 编写 运行 脚本时出现错误,我的 java.version 不是我预期的(预期版本至少为 12。):
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
System info: host: 'host_name', ip: 'localhost', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_221'
Driver info: driver.version: unknown
Stacktrace:
at org.openqa.selenium.remote.server.ServicedSession$Factory.lambda$get[=11=] (ServicedSession.java:134)
at org.openqa.selenium.remote.server.ServicedSession$Factory.apply (ServicedSession.java:151)
at org.openqa.selenium.remote.server.ActiveSessionFactory.lambda$apply (ActiveSessionFactory.java:177)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.Spliterators$ArraySpliterator.tryAdvance (None:-1)
at java.util.stream.ReferencePipeline.forEachWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyIntoWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyInto (None:-1)
at java.util.stream.AbstractPipeline.wrapAndCopyInto (None:-1)
at java.util.stream.FindOps$FindOp.evaluateSequential (None:-1)
at java.util.stream.AbstractPipeline.evaluate (None:-1)
at java.util.stream.ReferencePipeline.findFirst (None:-1)
at org.openqa.selenium.remote.server.ActiveSessionFactory.apply (ActiveSessionFactory.java:180)
at org.openqa.selenium.remote.server.NewSessionPipeline.lambda$null (NewSessionPipeline.java:65)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.Collections.tryAdvance (None:-1)
at java.util.stream.ReferencePipeline.forEachWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyIntoWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyInto (None:-1)
at java.util.stream.AbstractPipeline.wrapAndCopyInto (None:-1)
at java.util.stream.FindOps$FindOp.evaluateSequential (None:-1)
at java.util.stream.AbstractPipeline.evaluate (None:-1)
at java.util.stream.ReferencePipeline.findFirst (None:-1)
at org.openqa.selenium.remote.server.NewSessionPipeline.lambda$createNewSession (NewSessionPipeline.java:68)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.DistinctOps.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.ReferencePipeline.accept (None:-1)
at java.util.stream.Streams$StreamBuilderImpl.tryAdvance (None:-1)
at java.util.stream.Streams$ConcatSpliterator.tryAdvance (None:-1)
at java.util.stream.ReferencePipeline.forEachWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyIntoWithCancel (None:-1)
at java.util.stream.AbstractPipeline.copyInto (None:-1)
at java.util.stream.AbstractPipeline.wrapAndCopyInto (None:-1)
at java.util.stream.FindOps$FindOp.evaluateSequential (None:-1)
at java.util.stream.AbstractPipeline.evaluate (None:-1)
at java.util.stream.ReferencePipeline.findFirst (None:-1)
at org.openqa.selenium.remote.server.NewSessionPipeline.createNewSession (NewSessionPipeline.java:71)
at org.openqa.selenium.remote.server.commandhandler.BeginSession.execute (BeginSession.java:65)
at org.openqa.selenium.remote.server.WebDriverServlet.lambda$handle (WebDriverServlet.java:250)
at java.util.concurrent.Executors$RunnableAdapter.call (None:-1)
at java.util.concurrent.FutureTask.run (None:-1)
at java.util.concurrent.ThreadPoolExecutor.runWorker (None:-1)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (None:-1)
at java.lang.Thread.run (None:-1)
我已经尝试重新安装 java JDK 但版本保持不变 - 1.8。0_221
我在 python 中的代码:
driver = webdriver.Remote(
command_executor='http://10.20.10.193:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME)
driver.get('https://google.com')
设置硒服务器:
java -jar selenium-server-standalone-3.14.0.jar
我做错了什么?
这个错误信息...
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
System info: host: 'host_name', ip: 'localhost', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_221'
Driver info: driver.version: unknown
...表示 ChromeDriver 未被识别。
您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:
Selenium Client Driver 页面提及:
支持的Python 版本:
Python 2.7, 3.4+
但是selenium 3.141.0页面上的列表只包括:
所以可能 Python 3.7.3 仍然不受支持,您可能需要将 python 降级到相关版本。