JSFiddle - React, Tailwind, and code Playground

JavaScript

var casper = require('casper').create({
    pageSettings: {
        loadImages: false,

        // 1.浏览器
        userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53'
    },

    // 2.浏览器窗口大小
    viewportSize: {
        width: 320,
        height: 568
    }
});

casper.start();

// 3.加载页面
casper.thenOpen('http://www.baidu.com/', function () {
    // 4.截取整个页面(无登录态)
    casper.captureSelector('1.png', 'html');

    // 5.逐一读取cookie并显示出来
    console.log('---------------------------------------------------------------');
    var cookies = phantom.cookies;
    for (var i = 0, len = cookies.length; i < len; i++) {
        console.log(cookies[i].name + ': ' + cookies[i].value);
    }
    console.log('---------------------------------------------------------------');

    // 6.点击登录按钮
    casper.mouse.click('#login');

    // 7.等待跳转到登陆页
    casper.wait(3000);
    casper.then(function () {

        // 8.登录页截图
        casper.captureSelector('2.png', 'html');

        // 9.在当前页面的DOM环境中执行js代码
        // 更推荐的办法是使用fill或fillForm方法来填写表单
        casper.evaluate(function () {
            document.querySelector('[name=username]').value = '这里填你的用户名';
            document.querySelector('[name=password]').value = '这里填你的密码';
        });

        // 10.截取填写登录表单后的样子
        casper.captureSelector('3.png', 'html');

        // 11.点击登录按钮
        casper.mouse.click('#login-submit');

        // 12.等待跳转回首页
        casper.wait(3000);
        casper.then(function () {
            casper.captureSelector('4.png', 'html');
            
            // 13.逐一读取cookie并显示出来
            console.log('---------------------------------------------------------------');
            var cookies = phantom.cookies;
            for (var i = 0, len = cookies.length; i < len; i++) {
                console.log(cookies[i].name + ': ' + cookies[i].value);
            }
           ...