launch4j
在一些网络自动化的帮助下,Selenium
我创建了一个 exe Webdrivermanager
。为此,我创建了一个小的Java Runtime Engine
. 为了创建它,我使用 jdeps 来获取所有必需的依赖项:jdeps -s file.jar
. 但正如你所看到的,没有找到一个,我认为这会导致我的问题:
com.google.gson -> jdk8internals
com.google.gson -> java.base
com.google.gson -> java.logging
com.google.gson -> java.sql
com.google.gson -> java.xml
com.google.gson -> not found
我通过以下方式创建了我的JRE
(版本 17.0.1):jlink --add-modules jdk.internal.ed,jdk.internal.jvmstat,jdk.internal.le,jdk.internal.opt,jdk.internal.vm.ci,jdk.internal.vm.compiler,jdk.internal.vm.compiler.management,java.base,java.sql --compress=2 --output jre
我在错误文件中得到的错误如下:
error is: io.github.bonigarcia.wdm.config.WebDriverManagerException: io.github.bonigarcia.wdm.config.WebDriverManagerException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
我为 Webdrivemanager 拥有的所有代码是:
public static void startDriver(String preferredBrowser) throws Exception{
WebDriverManager.chromedriver().cachePath(driversPath).avoidOutputTree().setup();
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
driver = new ChromeDriver(options);
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})");
driver.get(visitingWebsite);
}
如果我让它通过我的 JDK 运行,它确实可以工作,所以问题出在 100% 我的 JRE 和Webdrivemanager
. 但是不知道为什么jdeps
找不到。
我希望你能帮助我。
此致
基督教