Python Chrome handless(无界面浏览器,add_argument 支持哪些参数,替代 PhantomJS)

简介: Python Chrome handless(无界面浏览器,add_argument 支持哪些参数,替代 PhantomJS)
  • Chrome handless 模式,Google 针对 Chrome 浏览器 59版 新增的一种模式,可以让你不打开 UI 界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。
  • 系统要求:
1、Chrome 版本要求
    Unix/Linux 系统要求 chrome >= 59
    Windows 系统需要 chrome >= 60
2、Python 版本 >= 3.6
3、Selenium 版本 >= 3.4
4、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()


相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
17天前
|
Python
python函数的参数学习
学习Python函数参数涉及五个方面:1) 位置参数按顺序传递,如`func(1, 2, 3)`;2) 关键字参数通过名称传值,如`func(a=1, b=2, c=3)`;3) 默认参数设定默认值,如`func(a, b, c=0)`;4) 可变参数用*和**接收任意数量的位置和关键字参数,如`func(1, 2, 3, a=4, b=5, c=6)`;5) 参数组合结合不同类型的参数,如`func(1, 2, 3, a=4, b=5, c=6)`。
16 1
|
1月前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
17 2
|
1月前
|
前端开发
调试前端时,在浏览器上修改参数并重新调用接口
有时候我们的页面点击过了,但是接口出问题,想修改参数再调用一次,一般是用apiPost工具把接口复制,再加上token和参数,但是这样非常的效率比较低。
42 0
|
1月前
|
Python
Python传参数:传值还是传址?
【2月更文挑战第18天】
49 6
|
2月前
|
Web App开发 JavaScript 前端开发
从零开始,轻松打造个人化Chrome浏览器插件
从零开始,轻松打造个人化Chrome浏览器插件
74 0
|
3月前
|
API 数据库 Python
Python 教程之 Django(8)在 Django 管理界面中渲染模型
Python 教程之 Django(8)在 Django 管理界面中渲染模型
24 0
Python 教程之 Django(8)在 Django 管理界面中渲染模型
|
3月前
|
Web App开发 Python
Python使用selenium的Chrome下载文件报错解决
Python使用selenium的Chrome下载文件报错解决
49 0
|
3月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
65 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
3月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
89 7
|
11天前
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域