Java使用Selenium操作chrome进行debug

想要爬取数据,验证码是必须要过的一关,而如今绝大部分验证码都鬼精鬼精的,想要破解起来比较麻烦。

虽然Selenium这个自动化测试工具可以帮我们模拟用户行为,但是Selenium自带的一些标签可以让网站轻轻松松就识别出你是爬虫,直接把你干掉,那么该怎么绕过这一关呢?

我们可以使用Chrome的debug模式:

1、打开Chrome

String path = "你的Chrome路径";
String dir = "存储用户数据的路径";
System.setProperty("webdriver.chrome.driver", "你的chromedriver.exe地址");
List<String> cmd = new ArrayList<>();
cmd.add(path);
cmd.add("--user-data-dir="+ dir);
cmd.add("--remote-debugging-port=9222");
// 窗口启动最大化
cmd.add("--start-maximized");
ProcessBuilder process = new ProcessBuilder(cmd);
try {
    process.start();
} catch (IOException e) {
    throw e;
}

2、Selenium连接Chrome

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("debuggerAddress","127.0.0.1:9222");
ChromeDriver driver = new ChromeDriver(options);
driver.get("http://www.baidu.com");

这样我们就通过Java打开了Chrome并且用Selenium成功连接,通过这种方式打开的浏览器不会带有Selenium的标签,也就不会被网站识别出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值