通过Cookie跳过登录验证码【限cookie不失效有用】

验证码,相信每个写web自动化测试的同学来说,都是个头疼的事,怎么办呢?

方法还是有的,先说今天这种方式,通过cookie绕过登录验证码

思路:

需要你通过抓包工具抓到你登录的cookie

接下来开始动手。

1、开启Fiddler 工具,像这样!

 

2、通过浏览器登录正常登录百度账号。像这样!

 

3、通过Fiddler获取登录请求的Cookie。找到Host为“passport.baidu.com”的URL,在右侧窗口查看该请求的Cookie。

然后,找到重要的两个参数“BAIDUID”和“BDUSS”。

 4、直接上代码

复制代码
package seleniumapi;

import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;

public class LoginWithCookie {
    
    WebDriver driver;

    @BeforeClass
    public void beforeClass() {
        System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
        driver=new ChromeDriver();
        
    }
    @Test
    public void testLoginWithCookie() {
        driver.get("https://www.baidu.com/");
        driver.manage().window().maximize();
        Cookie cookie=new Cookie("BAIDUID", "你的账号cookie");
        driver.manage().addCookie(cookie);
        Cookie cookie1=new Cookie("BDUSS", "你的账号cookie");
        driver.manage().addCookie(cookie1);
        driver.navigate().refresh();
    }

    @AfterClass
    public void afterClass() {
//        driver.quit();
    }

}
复制代码

首先,访问百度首页,处于未登录状态。

然后,通过Selenium所提供add_cookie()方法添加Cookie信息。

运行结果如图:

 

posted @   久曲健  阅读(6920)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示