0


2023爬虫学习笔记 -- selenium反爬虫操作(window.navigator.webdriver属性值)

一、无可视化浏览器操作

1、导入需要的函数,固定写法,并设置相关浏览器参数

from selenium.webdriver.chrome.options import Options

浏览器设置=Options()
浏览器设置.add_argument("--headless")
浏览器设置.add_argument("--disable-gpu")

2、请求的时候加上参数设置

浏览器=webdriver.Chrome(r'./chromedriver',options=浏览器设置)
目标网址=浏览器.get('https://www.XXX.com/')

3、通过截图证明确实被打开了

浏览器.save_screenshot("百度.png")

二、有些网站通过判断window.navigator.webdriver属性值来判断是否有爬虫行为

1、正常访问浏览器,该属性值为false

2、通过webdriver访问浏览器,该属性值为true

三、修改window.navigator.webdriver属性值

1、添加先关的参数,固定写法

浏览器设置=Options()
浏览器设置.add_argument("--disable-blink-features=AutomationControlled")
浏览器设置.add_argument(
    'user-agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36')

2、访问时添加上浏览器设置的参数

浏览器 = webdriver.Chrome('./chromedriver', options=浏览器设置)

3、通过执行JS代码绕过检测机制

with open('绕过.js') as f:
    js = f.read()
浏览器.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": js
})
浏览器.get('https://www.bXXXu.com')

4、此时检测该属性值为undefined


本文转载自: https://blog.csdn.net/weixin_41489908/article/details/129592020
版权归原作者 web安全工具库 所有, 如有侵权,请联系我们删除。

“2023爬虫学习笔记 -- selenium反爬虫操作(window.navigator.webdriver属性值)”的评论:

还没有评论