Chrome handless
模式,Google
针对 Chrome
浏览器 59版
新增的一种模式,可以让你不打开 UI
界面的情况下使用 Chrome
浏览器,所以运行效果与 Chrome
保持完美一致。
系统要求:
Chrome 版本要求
Unix/Linux 系统要求 chrome >= 59
Windows 系统需要 chrome >= 602
Python 版本 >= 3.63
Selenium 版本 >= 3.44
ChromeDriver 版本 >= 2.31
ChromeOptions
常用配置
# 配置对象
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"]) # 禁止浏览器被监控提示
options.add_experimental_option('detach', True) # 不自动关闭浏览器
options.add_argument('--headless') # 设置无窗口模式
options.add_argument('--disable-gpu') # 禁用gpu加速
options.add_argument("--user-agent=' '") # 设置请求头user-agent
options.add_argument('--start-maximized') # 设置窗口最大化
options.add_argument('--window-size=200,200') # 设置窗口大小
options.add_argument('--incognito') # 无痕模式
options.add_argument('--hide-scrollbars') # 隐藏滚动条
options.add_argument('--disable-javascript') # 禁用js
options.add_argument('--blink-settings=imagesEnabled=false') # 不加载图片(拦截图片)
Chrome handless(无界面浏览器)
使用(直接拷贝就能用,初始化格式固定的)
# 导入 selenium
from selenium import webdriver
# 如果需要指定路径,但是路径在新版本中被重构到 Service 函数中了
from selenium.webdriver.chrome.service import Service
# 配置对象
from selenium.webdriver.chrome.options import Options
# 导入常量对象(可以点进去看看,其实也可以手写)
# from selenium.webdriver.common.by import By
# 导入 定时器
from time import sleep
# 浏览器封装
def share_browser ():
# 浏览器驱动路径(可以是下载的驱动,也可以直接使用电脑上 Chrome 浏览器的驱动,找到路径就行)
# win_path = 'chromedriver.exe'
mac_path = 'chromedriver'
# 配置对象
options = Options()
# options = webdriver.ChromeOptions() # 也可以这样创建 options 对象
# options.add_experimental_option('detach', True) # 不自动关闭浏览器
options.add_argument('--headless') # 设置无窗口模式
options.add_argument('--disable-gpu') # 禁用gpu加速
# 创建浏览器
service = Service(mac_path)
browser = webdriver.Chrome(service=service, options=options)
# 返回
return browser
# 创建浏览器
browser = share_browser()
# 打开指定网址
browser.get('https://www.baidu.com')
# 保存快照
browser.save_screenshot('baidu.png')
# 睡眠
sleep(2)
# 退出
browser.quit()
借鉴资料:
评论区