現在幾乎所有登錄頁面都會帶一個驗證碼,做起自動化這塊比較麻煩, 所以要繞過網站的驗證碼。
首先需要手動登錄一次你的測試網站,去chrome的F12里獲取這個網站的cookie信息,找到對應的保存登錄信息的cookie,記錄下來備用,接下來再代碼中將上述cookie信息通過webdriver寫入的自動化腳本所彈出的瀏覽器中,這樣服務器就會認為你已經登錄過了,從而達到繞過登錄環節的目的。
代碼參考如下:
driver = new ChromeDriver();
String strUrl = "http://c.highpin.cn/PersonalCenter/Index";
driver.get("http://c.highpin.cn/");
Thread.sleep(2000);
public void Login() throws InterruptedException {
driver = new ChromeDriver();
String strUrl = "http://c.highpin.cn/PersonalCenter/Index";
driver.get("http://c.highpin.cn/");
Thread.sleep(2000);
driver.manage().deleteAllCookies(); // 刪除cookie里的內容
Cookie ck = new Cookie("SeekerChatAuth", "token=064F4E495931522779490A38445F626312377128074F4B495631562775490238405F"); // 初始化已經保存了登錄信息的cookie
Cookie ck1 = new Cookie("SeekerInfo", "UserName=157301660073136A0D651861336417730267447706680E7309661&UserID=507350664A73536A42655061416450731&CID=C064F4E495931522779490A38445F6263");
Cookie ck2 = new Cookie("UserStatus", "UserStatus=537354664273516A5A6558614A644B7343675C774568507350664973536A4F65526142645F731");
Cookie ck3 = new Cookie("SeekerMSiteChatAuth", "token=064F4E495931522779490A38445F626312377128074F4B495631562775490238405F");
driver.manage().addCookie(ck); // webdriver添加cookie
driver.manage().addCookie(ck1);
driver.manage().addCookie(ck2);
driver.manage().addCookie(ck3);
driver.get(strUrl);
driver.manage().window().maximize();
Thread.sleep(3000);
driver.quit();
}