有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    您可以将电子浏览器与ChromeDriver一起使用。尝试使用类似的设置创建WebDriver:

    // If chromediver executable is not in your project directory, 
    //  point to it with this system variable
    System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe"); 
    
    Map<String, Object> chromeOptions = new HashMap<String, Object>();
    chromeOptions.put("binary", "path/to/electron/binary");
    chromeOptions.put("args", Arrays.asList(" path-to-electron-app"));
    //eg.: chromeOptions.put("binary", "D:\\electron-quick-start\\node_modules\\electron-prebuilt\\dist\\electron.exe");
    //     chromeOptions.put("args", Arrays.asList(" D:\\electron-quick-start"));
    //  for some reason the app arg needs to follow a space on my Windows machine
        
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("chromeOptions", chromeOptions);
    capabilities.setBrowserName("chrome");
    
    WebDriver driver = new ChromeDriver(capabilities);
    

    这里,path-to-electron-app是存储应用程序源(main.js)的目录,电子二进制文件取自构建过程中下载的依赖项

    或者,如果您想使用预编译的应用程序,它本身将成为电子二进制文件,您可以使用以下内容:

    System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe"); 
    Map<String, Object> chromeOptions = new HashMap<>();
    chromeOptions.put("binary", "D:\\my-electron-app.exe");
    
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("chromeOptions", chromeOptions);
    capabilities.setBrowserName("chrome");
    
    WebDriver driver = new ChromeDriver(capabilities);