Hei在那里,所以我最近完成了一个小脚本,它使用selenium访问一个网站,并下载其中的一个特定部分作为图像。除了使用硒之外,我没有找到别的办法。我在使用这个api方面真的很新。现在,这个脚本可以在我的窗口和linux机器上运行。但我有个奇怪的错误我不太明白。根据我看到的其他帖子,我知道错误发生的原因,但我三次检查我的所有版本是否匹配。下面我将发布我使用的所有版本和脚本本身。重要的是,脚本工作和屏幕截图,它应该做,但警告仍然可能不是一件好事,对吗?我想不出解决办法了
的事情我找到了
我很确定这和我的Jar文件有关。只有在windows或linux上使用jar文件时,才会发生错误。根据我的intelliJ想法,它不会产生任何错误。现在我用intelliJ生成jar文件,我不知道是什么原因造成的。我试图读取我的依赖项,但没有任何帮助。任何帮助都是非常感谢的。
来自Java 的错误输出
仅允许在端口42307上启动(93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}) 101.0.4951.41 ChromeDriver本地连接。有关维护https://chromedriver.chromium.org/security-considerations安全的建议,请参见ChromeDriver。ChromeDriver启动成功。2022年4月29日8:40:21 org.openqa.selenium.remote.ProtocolHandshake createSession信息:检测到的方言: W3C 4月29日,2022 8:40:21 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch警告:无法找到与CDP版本101完全匹配的版本,因此返回找到的最接近的版本:1004月29日,2022年8:40:21下午org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch信息:为101号版本找到CDP实现。
是我pom.xml的一部分。我使用intelliJ tho生成jar,而不是直接生成
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.1.4</version>
</dependency>
</dependencies>
脚本的代码片段
System.setProperty("webdriver.chrome.driver", chromedriverPath);
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized", "--headless", "--window-size=2560,1440","--ignore-certificate-errors","--disable-extensions","--disable-dev-shm-usage");
options.addArguments("--log-level=3");
WebDriver driver = new ChromeDriver(options);
driver.get("somewebsiteurl (placeholder)" + code);
我的ubuntu机器上的Chrome版本(windows上相同)
➜ MRimagedownloader google-chrome --version
Google Chrome 101.0.4951.41
,这是我使用的色度驱动器的版本。当然,windows的一个用于windows,linux用于我的ubuntu机器。
https://chromedriver.storage.googleapis.com/index.html?path=101.0.4951.41/
发布于 2022-04-29 22:11:53
这个错误信息..。
Apr 29, 2022 8:40:21 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch WARNING: Unable to find an exact match for CDP version 101, so returning the closest version found: 100
Apr 29, 2022 8:40:21 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch INFO: Found CDP implementation for version 101 of 100
...implies表示ChromeDriver无法启动/生成新的浏览上下文,即谷歌铬
深潜
您的主要问题是您正在使用的二进制文件的版本之间的incompatibility,如下所示:
一切看起来都是完全同步的,理想的情况下应该是开箱即用的。
然而,我坚信MRimagedownloader
指出的Google实例是101.0版本,其中Selenium使用的Google实例是100.0版本。
您需要将Selenium使用的Google版本升级到v101.0。
发布于 2022-10-08 16:43:40
我也遇到了同样的问题,使用带有vscode的maven,但在您写到:“我很确定它与我的Jar文件有关。只有在windows或linux上使用jar文件时,才会发生错误。根据我的intelliJ想法,它不会产生任何错误。”
导出jar文件时,GUI向我提供一个元素列表,其中88个是预选的,包括:
这个方法修复了它:我没有检查v104和v105
现在我得到了这样的回应:
好的。08,2022年6:22:38 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch INFO:为版本106找到准确的CDP实现
https://stackoverflow.com/questions/72062605
复制相似问题