实际上,我们使用默认的方式初始化 WebDriver 打开一个网站,下面这段 JS 代码永远为 true,而手动打开目标网站的话,则为:undefined或false
<!DOCTYPE html>上面的代码如果手动打开浏览器执行是fasle,但是在selenium打开就是true,这就是别人能够识别我们在爬取信息,那么怎么将window.navigator.webdriver变成false呢?代码增加
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript">
document.write(window.navigator.webdriver )
</script>
<style>
</style>
</head>
<body>
</body>
</html>
browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
browser.implicitly_wait(10)完整可运行代码如下:#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
from selenium import webdriver
chromeOptions = webdriver.ChromeOptions()
# 打开参数
chromeOptions.add_experimental_option('excludeSwitches', ['enable-automation'])
chromeOptions.add_argument("--headless")
chromeOptions.add_argument("--remote-debugging-port=9222")
chromeOptions.add_argument('--no-sandbox')
browser = webdriver.Chrome('/usr/bin/chromedriver',chrome_options=chromeOptions)
#新增反爬识别
browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
browser.implicitly_wait(10)
browser.get("https://baidu.com")
网友回复
阿里云ESA、cloudflare worker、腾讯云EdgeOne网站代理托管哪家更好?
剪映能打开.fcpxml格式的文件吗?
增量式编码器与绝对式编码器的区别是啥?
有没有开源的单张照片或者序列帧图片或视频就能重建4d场景动画项目?
chrome网页突然报错:错误代码:RESULT_CODE_KILLED_BAD_MESSAGE
openai的codex如何全程无需手动确认自动修改文件?
阿里云oss前端上传文件直传如何限制文件类型?
阿里云oss前端获取policy签名直传oss上传文件回调如何传?
如何将根据三维物体通过提示词变成可交互的4d场景动画?
浏览器中实时摄像头离线视觉ai模型有吗?


