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");