Java + selenium + cookie 繞過 reCAPTCHA 驗證的登錄頁面

1. 如果網站有記住登錄狀態的功能,可以直接用 new cookie 來創建cookies, cookies 可以用F12 或者fiddler 來抓包查看

driver.get("https://xxxxxx/");
driver.manage().deleteAllCookies();
Cookie cookie1 = new Cookie("name1", "xxxxxx");
Cookie cookie2 = new Cookie("name2", "xxxx");
driver.manage().addCookie(cookie1);
driver.manage().addCookie(cookie2);
driver.navigate().refresh();

2. 如果網站沒有記住登錄狀態,但是可以調用特定的API 去獲取token, 用來更新cookies,然後add cookies 後就可以去登錄後的頁面了。

WebDriver driver = new ChromeDriver();
driver.get("https://xxxxx/login.html");
//get cookies for login
Map cookies = getCookie.getCookieValue();
Cookie cookie1 = new Cookie.Builder("amlbcookie",cookies.get("amlbcookie").toString())
        .domain(".xxx.com")
        .isHttpOnly(true)
        .isSecure(true)
        .path("/")
        .build();
Cookie cookie2 = new Cookie.Builder("ms-sso",cookies.get("ms-sso").toString())
        .domain(".xxx.com")
        .isHttpOnly(true)
        .isSecure(true)
        .path("/")
        .build();
driver.manage().addCookie(cookie1);
driver.manage().addCookie(cookie2);
Thread.sleep(2000);
System.out.println("***** Let's Go To The Home Page ! ******");
driver.get("https://xxx.com/#/homePage/home");

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章