0

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找不到。

我希望你能帮助我。

此致

基督教

4

0 回答 0