使用selenium写爬虫的时候
window.navigator.webdriver
的值是
true
,容易被识别,需要隐藏起来,都说这个
execute_cdp_cmd
的方法有效,但是都是
python
版本的,
java
尝试了发现没效果。我的版本是
Chrome/106.0.5249.119
经过在Bd的知识海洋中捞针,在
得到灵感。并尝试了一下竟然成功了遂留下真迹
检测网站
- 未改之前:
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>
当然不同的网站的对爬虫的检测方式可能不一样,还望评下留情!
本文转载自: https://blog.csdn.net/BovinLee/article/details/127576923
版权归原作者 博文婼忆 所有, 如有侵权,请联系我们删除。
版权归原作者 博文婼忆 所有, 如有侵权,请联系我们删除。