介绍undetected_chromedriver 是什么、特点、在Python中的应用
undetected_chromedriver 是什么
- undetected_chromedriver 是一个Python库,它是基于Selenium的Chrome驱动程序的封装。
- "undetected_chromedriver"库是一个第三方库,它并不是Selenium官方库的一部分,因此在使用时需要注意其兼容性和更新性。
undetected_chromedriver 特点
-
隐藏WebDriver特征:"undetected_chromedriver"库使用了一些技术手段来隐藏Selenium WebDriver的一些特征,以避免被网站检测到。这可以降低被反爬虫机制识别的风险,提高自动化脚本的稳定性。
-
随机化浏览器指纹:库提供了一些选项和功能,可以随机化浏览器指纹,使其看起来更像真实用户的浏览器行为。这可以帮助您更好地模拟人类用户的操作,进一步减少被检测的几率。
-
自动处理常见问题:"undetected_chromedriver"库内部处理了一些常见的Selenium和Chrome驱动程序的问题。它可以自动处理一些弹出窗口、警告、验证码等,以提供更平滑的自动化体验。
-
支持无界面模式:库支持在无界面模式下运行浏览器,这对于在服务器上运行自动化任务或进行网页截图等场景非常有用。
undetected_chromedriver 在Python中的应用
- 下载安装 undetected_chromedriver 库
pip install undetected_chromedriver
- Python编写代码
import ssl
from undetected_chromedriver import Chrome, ChromeOptions
def test_driver():
url = 'https://www.baidu.com'
# 测试使用,请求https网站时,禁用SSL证书验证
ssl._create_default_https_context = ssl._create_unverified_context
# 创建ChromeOptions对象,并设置一些选项
options = ChromeOptions()
# 如果要使用无界面访问,开启此参数,默认有窗口界面
# options.add_argument('--headless')
# 将窗口最大化
options.add_argument('--start-maximized')
options.add_argument('--disable-infobars')
# 创建Chrome对象,并使用指定的选项启动Chrome浏览器
driver = Chrome(options=options)
# 如本地driver版本与浏览器版本不一致,使用executable_path 指定driver路径
#driver = Chrome(options=options, executable_path='/usr/local/bin/chromedriver')
# 访问网站
driver.get(url)
driver.refresh()
# 关闭Chrome浏览器
driver.quit()
if __name__ == '__main__':
test_driver()
- 运行该 Python文件
python xxx.py