selenium+java发送cookie,绕过验证码登录
生活随笔
收集整理的這篇文章主要介紹了
selenium+java发送cookie,绕过验证码登录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里用蝸牛學院的網頁為例,http://www.woniuxy.com/
Cookie的處理分為:
服務器向客戶端發送cookie
瀏覽器將cookie保存
之后每次http請求瀏覽器都會將cookie發送給服務器端
服務器端向客戶端發送Cookie是通過HTTP響應報文實現的,在Set-Cookie中設置需要像客戶端發送的cookie。首先網頁打開網址,點擊登錄,然后用抓包工具抓包,我這里用的是Charles,抓取的包如下圖。每次捕獲的id字段可能不同,同學自行甄別。
然后通過java把這個幾個字段的cookie id發送給服務器,具體代碼如下:
public class Cookiewoniu { public static void main(String[] args) throws InterruptedException { System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");WebDriver driver = new ChromeDriver();driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); Thread.sleep(3000); driver.get("http://www.woniuxy.com"); Thread.sleep(3000); System.out.println(driver.manage().getCookies()); // 通過fiddler抓包工具,找到get為“http://www.woniuxy.com/login/isLogined”的URL,在右側窗口查看該請求的Cookie, // 找到重要的三個參數“JSESSIONID”和“token”和 “userId”Cookie c1 = new Cookie("JSESSIONID", "A93C195B41FE5252CFB1AFFB381037F2"); Cookie c2 = new Cookie("token", "a7e61ca4902d9902ffc669185dea6005"); Cookie c3 = new Cookie("userId", "2409");driver.manage().addCookie(c1); driver.manage().addCookie(c2); driver.manage().addCookie(c3);driver.navigate().refresh(); Thread.sleep(2000); //設置鼠標懸停WebElement settings = driver.findElement(By.linkText("注銷"));Actions action = new Actions(driver);action.moveToElement(settings).build().perform();// 獲得登錄用戶名 String username = driver.findElement(By.id("OptDivUserName")).getText(); System.out.println("username = " + username); System.out.println(driver.manage().getCookies()); Thread.sleep(3000); driver.quit(); } }總結
以上是生活随笔為你收集整理的selenium+java发送cookie,绕过验证码登录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java生成二维码,并在前端展示。
- 下一篇: 通过Cookie跳过登录验证码【限coo