MyEdgeDriver.java 1.96 KB
package com.canrd.webmagic.processor.driver;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.springframework.stereotype.Component;

import java.time.Duration;

/**
 * @author zhongnanhuang
 * @version 1.0
 * @project webmagic-canrd-service
 * @description 火狐浏览器驱动
 * @date 2024/5/23 10:45:50
 * 驱动下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/?form=MA13LH#downloads
 */
@Component
public class MyEdgeDriver implements BrowserDriver{
    private static final String WIN_DRIVER_PATH = "D:\\driver\\edge\\msedgedriver.exe";
    private static final String LINUX_DRIVER_PATH = "/home/canrd/webmagic/chrome/chromedriver-linux64/chromedriver";

    @Override
    public WebDriver getDriver() {
        // 设置 Chrome 驱动程序路径
        System.setProperty("webdriver.edge.driver", WIN_DRIVER_PATH); // 替换为实际的驱动程序路径

        // 初始化 ChromeOptions 对象
        EdgeOptions options = new EdgeOptions();
//        options.setPageLoadTimeout(Duration.ofSeconds(30)); // 设置页面加载超时时间为30秒
//        options.addArguments("--blink-settings=imagesEnabled=false"); // 禁用图片加载
//        options.addArguments("--disable-notifications"); // 禁用浏览器通知
//        options.addArguments("--disable-infobars"); // 禁用信息栏
//        options.addArguments("--disable-extensions"); // 禁用扩展
//        options.addArguments("--disable-dev-shm-usage"); // 禁用/dev/shm使用
//        options.setHeadless(true);


        // 设置其他选项,例如添加扩展程序等
        // 初始化 WebDriver
        EdgeDriver driver = new EdgeDriver(options);

        return driver;
    }
}