undetected-chromedriver使用详解
时间: 2023-10-30 11:05:08 浏览: 75
未检测到的chromedriver:自定义Selenium Chromedriver v88起| 通过所有Bot缓解系统(例如Distil Imperva Datadadome,Botprotect)
5星 · 资源好评率100%
undetected-chromedriver 是一个 Python 包,它可以帮助你使用 Selenium 时绕过一些检测机制,以确保你的爬虫程序始终可以正常运行。
在使用 Selenium 进行爬虫时,有一些网站会检测你使用的浏览器是否是自动化程序,如果检测到了,可能会禁止你的访问或者限制你的操作。undetected-chromedriver 就是为了解决这个问题而生的。
使用 undetected-chromedriver 的步骤如下:
1. 安装 undetected-chromedriver 包:可以使用 pip 命令进行安装,命令如下:
```
pip install undetected-chromedriver
```
2. 导入包并初始化:
```python
from undetected_chromedriver import ChromeDriver
driver = ChromeDriver()
```
初始化时可以传入一些参数,例如:
```python
driver = ChromeDriver(headless=True, enable_gpu=False, user_agent='Mozilla/5.0')
```
参数含义如下:
- headless:是否使用无头模式,默认为 False;
- enable_gpu:是否启用 GPU,默认为 True;
- user_agent:自定义 User-Agent,如果不指定则使用随机 User-Agent。
3. 使用 driver 进行操作:
```python
driver.get('https://www.baidu.com')
print(driver.title)
```
在这个例子中,我们使用 get 方法打开了百度首页,并使用 title 属性获取了页面的标题。
除此之外,undetected-chromedriver 还提供了一些其他的方法和属性,例如:
- find_element_by_xpath:根据 xpath 查找元素;
- find_element_by_css_selector:根据 CSS 选择器查找元素;
- page_source:获取页面源码;
- cookies:获取当前页面的 cookies 等。
总之,使用 undetected-chromedriver 可以让你的 Selenium 爬虫程序更加稳定地运行,避免被网站识别为自动化程序而被限制访问。
阅读全文