赞
踩
使用selenium写爬虫的时候window.navigator.webdriver
的值是true
,容易被识别,需要隐藏起来,都说这个execute_cdp_cmd
的方法有效,但是都是python
版本的,java
尝试了发现没效果。我的版本是 Chrome/106.0.5249.119
经过在Bd的知识海洋中捞针,在
https://blog.csdn.net/qq_40178216/article/details/113838645
得到灵感。并尝试了一下竟然成功了遂留下真迹
检测网站
https://bot.sannysoft.com/
chromeDriver
隐藏window.navigator.webdrive
r为true
//开启一个实验性参数excludeSwitches,用来隐藏window.navigator.webdriver返回true,这个参数必须是List
chromeOptions.setExperimentalOption("useAutomationExtension", false);
chromeOptions.setExperimentalOption("excludeSwitches", Lists.newArrayList("enable-automation"));
chromeOptions.addArguments("--disable-blink-features=AutomationControlled");//发现主要是这句是关键
selenium-java
依赖情况:<properties> <selenium.version>4.0.0-alpha-2</selenium.version> </properties> <dependencies> <!--selenium--> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-server</artifactId> <version>${selenium.version}</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-remote-driver</artifactId> <version>${selenium.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>${selenium.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>${selenium.version}</version> </dependency> </dependencies>
当然不同的网站的对爬虫的检测方式可能不一样,还望评下留情!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。