实际上,我们使用默认的方式初始化 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")
网友回复
js如何流式输出ai的回答并折叠代码块,点击代码块右侧可预览代码?
ai大模型如何将文章转换成可视化一目了然的图片流程图图表?
大模型生成html版本的ui原型图和ppt演示文档的系统提示词怎么写?
rtsp视频直播流如何转换成websocket流在h5页面上观看?
为啥coze会开源工作流agent coze studio?
如何检测网页是通过收藏夹打开的?
python如何实现类似php的http动态脚本请求处理响应代码?
js如何实现类似php的http动态脚本请求处理响应代码?
trae与solo有啥区别不同?
vue如何让ai动态生成问卷调查多步骤表单式收集基础信息自动规划执行任务?