為什么會有第二篇文章呢,因為北京周邊的考點太難搶了,都不是頁面樣式能不能展示的問題了!!!
如何在網頁完全打不開的情況下報考PMP?
首先,自動登錄。
打開瀏覽器,輸入網址http://exam.chinapmp.cn/login.shtml ,按回車。
不管頁面報不報錯,在控制台輸入以下代碼。即可自動登錄。
function appScripts(cb) { let _src = scriptArr.shift(); if (_src) { let s = document.createElement('script'); s.onload = () => { console.log(`add script done ==> ${_src}`); appScripts(cb); }; s.src = _src; document.body.appendChild(s); } else { cb(); } } function tryLogin(uName, uPass) { SHOW.Ajax.Exam.Login.Save(0, uName, uPass, res => { if (!res.error) { console.log(res); alert('登錄成功, 進入下一步'); window.location.href = 'http://user.chinapmp.cn/examsign;info.shtml'; } else { console.log(`登錄失敗, 再次嘗試 AT::${Date.now()}`); tryLogin(uName, uPass); } }); } let scriptArr = [ 'http://card.mugeda.com/js/other/jquery.js', 'http://card.mugeda.com/js/other/jcomm.js', 'http://card.mugeda.com/js/other/4BD0ABA8E39F14797B0A73A80C2F1DBE.js', 'http://card.mugeda.com/js/other/SHOW.Ajax.Exam.Login.js' ]; appScripts(() => { tryLogin('登錄賬戶', '登錄密碼'); });
下圖為在網頁500的情況下,登錄成功。
然后再開一個網頁 http://user.chinapmp.cn/examsign;sign.shtml ,注入一些必要的js文件。
方法還是一樣,在控制台輸入以下代碼,按回車。
function appScripts(cb) { let _src = scriptArr.shift(); if (_src) { let s = document.createElement('script'); s.onload = () => { console.log(`add script done ==> ${_src}`); appScripts(cb); }; s.src = _src; document.body.appendChild(s); } else { cb(); } } let scriptArr = [ 'http://card.mugeda.com/js/other/jquery.js', 'http://card.mugeda.com/js/other/juimin.js', 'http://card.mugeda.com/js/other/jcomm.js', 'http://card.mugeda.com/js/other/61026A313A3252DDCCB247023B60CDAF.js', 'http://card.mugeda.com/js/other/examsign.js', 'http://card.mugeda.com/js/other/examsignedit.js', 'http://card.mugeda.com/js/other/jvalidation.js', 'http://oss.aiyawoc.com/js/pmp/EXAM20210413.js', //考試信息 'http://card.mugeda.com/js/other/SHOW.Ajax.User.Examsign.sign.js' ]; appScripts(() => { console.log('全部注入完成'); });
下圖為注入成功的界面
最后一步,輸入自己的信息,等待報名成功。
let signInfo = { Ed: '10000044', Etitle: ' 2021年6月20日項目管理資格認證考試', Stype: '101', StypeName: '項目管理師(PMP®)', Xing: '?', //你的姓拼音 Zhong: '', Ming: '?', //你的名字拼音 Peixunjigou: '515', Peixunjigouming: '北京光環致成國際管理咨詢股份有限公司', PMIUname: '?', //PMI賬號 PMIUpass: '?', //PMI密碼 IsPMIUser: false, PMINumber: '', PMIUtimeB: '', PMIUtimeE: '', PMItimeB: new Date(1618156800000), //pmi有效期起始時間,用時間戳轉換工具 PMItimeE: new Date(1649692800000), //pmi有效期截止時間,用時間戳轉換工具 Kaodian: '64', //考點id,待獲取 Kaodianming: '廊坊管院', //考點名,待確認 PMIID: ' ?', //PMI ID,在PMI英文網站上報考完畢可獲取 } function trySign(u) { SHOW.Ajax.User.Examsign.Sign( u.Ed, u.Etitle, u.Stype, u.StypeName, u.Xing, u.Zhong, u.Ming, u.Peixunjigou, u.Peixunjigouming, u.PMIUname, u.PMIUpass, u.IsPMIUser, u.PMINumber, u.PMIUtimeB, u.PMIUtimeE, u.PMItimeB, u.PMItimeE, u.Kaodian, u.Kaodianming, u.PMIID, res => { if (res.value != null) { alert("您已報名成功,此次考試您應繳納的費用為" + res.value + ",您的材料會在3天之內審核,請耐心等待!", "報名提示:", function () { window.location.href = "myexam" + SHOW.Config.Ext; }); } else { console.log(`報名失敗!AT::${Date.now()}, 重試中...`); trySign(u); } }); } trySign(signInfo);
注意時間轉換工具要選擇毫秒 https://tool.lu/timestamp/
在網頁完全打不開的情況下,報考成功了!!!!!
總結,不會搶火車票的程序員不是好的項目經理!