日期:2024.4.29
随着版本的升级网上的各种Chrome Handles教程都已经过时了。自学的时候比较麻烦,所以自己写一下笔记给大家参考。
本人自学的是尚硅谷的2021版本的python爬虫视频,里面的很多东西已经不适合现在了。
1、Chrome 版本要求
Unix/Linux 系统要求 chrome >= 59
Windows 系统需要 chrome >= 60
2、Python 版本 >= 3.6
3、Selenium 版本 >= 3.4.*
4、ChromeDriver 版本 >= 2.31
Chrome handless的基本配置
这个配置是基本固定的。
注意:很多教程中需要设置浏览器地址,实际上如果配置了全局环境变量就不需要设置。
可以在命令行输入chrome.exe查看是否配置变量,至于如何配置环境变量自行百度。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# chromehandles的前置配置
# 创建操作项目
chrome_options = Options()
# 设置Chrome为Headless模式
chrome_options.add_argument('--headless')
# 禁用GPU加速
# 有些程序不支持GPU加速或者操作系统不兼容,会导致浏览器无法正常启动。此时,我们可以通过添加--disable-gpu参数来避免这些问题。
chrome_options.add_argument('--disable-gpu')
# 指定浏览器地址(放弃)
# path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
# 设置浏览器地址(放弃)
# chrome_options.binary_location = path
# 创建Chrome WebDriver对象,传入ChromeOptions对象
browser = webdriver.Chrome(options=chrome_options) # chrome_options已经被options替代
url = "http://www.baidu.com"
browser.get(url)
#输出源码,如果控制台有输出则表示成功
print(browser.page_source)
handles的封装,直接返回browser
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 封装handles
def handles():
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
browser = webdriver.Chrome(options=chrome_options)
return browser
chrome handles的使用方式和selenium一样的。