做webUI的自动化,当本地执行脚本时,会启动浏览器的UI界面,导致其他工作无法进行。并且当电脑锁屏时,chromer driver 会退出,无法继续执行。
Headerless Browser(无头的浏览器)是浏览器的无界面状态,可以在不打开浏览器GUI的情况下,使用浏览器支持的性能。
Chrome Headless相比于其他的浏览器,可以更便捷的运行web自动化,编写爬虫、截图等。通常是由编程或者命令行来控制的。
好处:
可以加快UI自动化测试的执行时间,对于UI自动化测试,少了真实浏览器加载css,js以及渲染页面的工作。无头测试要比真实浏览器快的多。
可以在无界面的服务器或CI上运行测试,减少了外界的干扰,使自动化测试更稳定。
Python Selenium 用法:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
def test_headless():
chrome_options = Options()
chrome_options.add_argument(‘--headless‘)
chrome_options.add_argument(‘--window-size=1280,1696‘)
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.implicitly_wait(5)
driver.get(‘https://www.baidu.com/‘)
driver.find_element(By.CSS_SELECTOR,‘.s_ipt‘).send_keys(‘selenium‘)
driver.find_element(By.CSS_SELECTOR,‘#su‘).click()
原文:https://www.cnblogs.com/Uni-Hoang/p/13124094.html