最近在用selenium做采集,报了以下错误:
This version of ChromeDriver only supports Chrome version 81
简单来说就是你本机安装的chrome和你下载的chrome driver不匹配,下的是81版本。
有2个解决方法,一是升级你的chrome浏览器,二的的话就是下载你本机安装的chrome浏览器对应的chrome driver,这篇文章我们介绍第二种方法。
1、打开你的谷歌浏览器,在地址栏输入chrome://version/
可以看到我的谷歌浏览器版本是:74.0.3729.169 (正式版本) (64 位) (cohort: Stable)
2、那就好办了,我们下载对应的chrome driver即可。
浏览器中打开一下链接:https://npm.taobao.org/mirrors/chromedriver/
下载对应的chrome drvier即可。
为了方便大家更容易的找到这篇文章,我把具体错误的代码贴下吧。
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 81 Build info: version: '4.0.0-alpha-4', revision: 'c2d955b49e' System info: host: 'DESKTOP-Q1ISD0B', ip: '192.168.68.102', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144' Driver info: driver.version: ChromeDriver remote stacktrace: Backtrace: Ordinal0 [0x00E75D53+2448723] Ordinal0 [0x00DA8131+1605937] Ordinal0 [0x00C9F879+522361] Ordinal0 [0x00C305F3+67059] Ordinal0 [0x00C2CD92+52626] Ordinal0 [0x00C4C127+180519] Ordinal0 [0x00C4BF2D+180013] Ordinal0 [0x00C49E5B+171611] Ordinal0 [0x00C31DD8+73176] Ordinal0 [0x00C32E50+77392] Ordinal0 [0x00C32DE9+77289] Ordinal0 [0x00DBD6A7+1693351] GetHandleVerifier [0x00F13E16+522726] GetHandleVerifier [0x00F13B54+522020] GetHandleVerifier [0x00F28F67+609079] GetHandleVerifier [0x00F14686+524886] Ordinal0 [0x00DB5A8C+1661580] Ordinal0 [0x00DBF00B+1699851] Ordinal0 [0x00DBF173+1700211] Ordinal0 [0x00DD4FE5+1789925] BaseThreadInitThunk [0x74D66359+25] RtlGetAppContainerNamedObjectPath [0x76F37B74+228] RtlGetAppContainerNamedObjectPath [0x76F37B44+180] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0(W3CHandshakeResponse.java:62) at org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30) at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$1(ProtocolHandshake.java:126) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:75) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:139) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:582) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:136) at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:75) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:163) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:150) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:139) at com.ousense.alone.Kongfz.selenium(Kongfz.java:29) at com.ousense.alone.Kongfz.main(Kongfz.java:39)