📜  selenium headless chrome (1)

📅  最后修改于: 2023-12-03 15:34:54.434000             🧑  作者: Mango

Selenium Headless Chrome

简介

Selenium是一个自动化测试工具,用于控制web浏览器中的操作,模拟人类的操作,测试Web应用程序以及实现自动化Web任务。Selenium支持所有流行的浏览器,包括Firefox,Chrome,IE,Safari等。Selenium使用WebDriver API控制浏览器,Headless Chrome是Chrome浏览器的一种模式,可以在不显示浏览器的情况下运行Chrome浏览器。它通常用于爬取Web数据和自动化测试。Selenium支持Headless Chrome运行模式。

特点
  1. 不需要通过界面进行交互,可以加快运行速度
  2. 支持所有Chrome的功能
  3. 支持所有Selenium的功能
使用
# 导入webdriver
from selenium import webdriver

# 配置chrome的启动参数,设置为 headless 模式
options = webdriver.ChromeOptions()
options.add_argument('--headless')

# 创建浏览器对象,传入配置参数
browser = webdriver.Chrome(options=options)

# 运行自动化测试
browser.get('http://www.baidu.com')
print(browser.title)
browser.close()
注意点
  1. Headless模式下不支持截图
  2. 在headless模式下运行程序时,浏览器将不呈现在屏幕上,这意味着浏览器将不会响应窗口系统事件,例如调整大小或移动窗口。如果代码中使用了该功能,程序将出现异常。
  3. 当程序运行时,Chrome将自动在标题行中插入警告“Chrome正在受到自动化软件的控制”,这注定会引起未经许可的注意。在无头模式下,可以在启动时将chrome选项--disable-extensions和--disable-gpu禁用来解决这个问题。
总结

Selenium Headless Chrome是一种非常有用的自动化测试工具,可以在不打开浏览器的情况下进行自动化测试和数据爬取。它具有控制所有Chrome的功能以及Selenium的所有功能,而且使用起来也非常简单。但是需要注意在Headless模式下不能支持一些特定的功能。