Selenium WebDriver對cookie進行處理繞過登錄驗證碼


現在幾乎所有登錄頁面都會帶一個驗證碼,做起自動化這塊比較麻煩, 所以要繞過網站的驗證碼。

首先需要手動登錄一次你的測試網站,去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();
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM