pom.xml

<project xmlns="<http://maven.apache.org/POM/4.0.0>"
         xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"
         xsi:schemaLocation="<http://maven.apache.org/POM/4.0.0> <http://maven.apache.org/xsd/maven-4.0.0.xsd>">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.com.do1</groupId>
    <artifactId>51jobCrawler</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-core</artifactId>
            <version>0.7.3</version>
        </dependency>
        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-extension</artifactId>
            <version>0.7.3</version>
        </dependency>
        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-selenium</artifactId>
            <version>0.7.3</version>
        </dependency>
    </dependencies>

</project>

LoginSpiderDemo.java

 public class LoginSpiderDemo implements PageProcessor {

    private Site site = Site.me().setRetryTimes(3).setTimeOut(2000);
    private WebDriver driver;
    private final String DRIVER_PATH = "C:\\Al-assad\\bin_dev\\WebDriver\\chromedriver.exe";
    private Set<Cookie> cookies;  //cookie

    //登陆操作
    public void login(String loginURL){
        System.setProperty("webdriver.chrome.driver",DRIVER_PATH);
        driver = new ChromeDriver();
        WebDriver.Navigation navigation = driver.navigate();
        navigation.to(loginURL);
        //执行登陆操作
        WebElement loginNameEle = driver.findElement(By.id("loginname"));
        WebElement passwordEle = driver.findElement(By.id("password"));
        WebElement loginBtnEle = driver.findElement(By.id("login_btn"));
        loginNameEle.clear();
        passwordEle.clear();
        loginNameEle.sendKeys("18819454576");
        passwordEle.sendKeys("51job1995assad");
        loginBtnEle.click();
        //获取并保存cookies
        cookies = driver.manage().getCookies();
    }

    //注入cookie
    @Override
    public Site getSite() {
        for(Cookie cookie : cookies){
            site.addCookie(cookie.getName(), cookie.getValue());
        }
        //伪造Header
        site.addHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36");
        return site;
    }

    @Override
    public void process(Page page) {
        page.putField("message", page.getHtml().xpath("/html/body/div[3]/div[3]/div[1]/div[1]/div[2]/div/div[1]/div[3]/span/text()").toString());
        driver.quit();  //退出浏览器
    }

    public static void main(String[] args) {
        LoginSpiderDemo demo = new LoginSpiderDemo();
        demo.login("<https://login.51job.com/login.php>");
        Spider.create(demo)
                .addUrl("<https://i.51job.com/userset/my_51job.php>")
                .addPipeline(new ConsolePipeline())
                .setExitWhenComplete(true)
                .run();
    }

}