前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python + Selenium(二十五)无头模式 headless

Python + Selenium(二十五)无头模式 headless

作者头像
kirin
发布2021-03-11 14:23:35
7.5K1
发布2021-03-11 14:23:35
举报
文章被收录于专栏:Kirin博客Kirin博客

所谓浏览器的无头模式headless,就是浏览器在运行时处于后台操作的模式,不会看到浏览器打开,也就不会干扰你手头的工作。对于自动化测试和网络爬虫都有很大的价值。

早期我们使用 phantomJS 浏览器来实现这种模式,随着 Chrome 和 Firefox 都加入了无头模式, Selenium 逐渐停止对 phantomJS 的支持。

Chrome 的 headless

Chrome 的无头模式,通过在打开浏览器前加入 --headless 参数配置即可实现。

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.chrome.options import Options # => 引入Chrome的配置
import time

# 配置
ch_options = Options()
ch_options.add_argument("--headless")  # => 为Chrome配置无头模式

# 在启动浏览器时加入配置
driver = webdriver.Chrome(chrome_options=ch_options) # => 注意这里的参数 

driver.get('http://baidu.com')
driver.find_element_by_id('kw').send_keys('测试')
driver.find_element_by_id('su').click()

time.sleep(2)

# 只有截图才能看到效果咯
driver.save_screenshot('./ch.png')

driver.quit()

Firefox 的 headless

Firefox 浏览器的无头模式配置与 Chrome 差不多,只是写法有差异。

代码语言:javascript
复制
from selenium.webdriver.firefox.options import Options # => 引入Firefox配置
from selenium import webdriver
import time

# 配置浏览器

ff_options = Options()
ff_options.headless = True  # => 设置无头模式为 True

driver = webdriver.Firefox(firefox_options=ff_options) # => 注意这里的参数

driver.get('http://baidu.com')

driver.find_element_by_id('kw').send_keys('测试')
driver.find_element_by_id('su').click()

time.sleep(2)
# 截图看效果
driver.save_screenshot('./ff.png')

driver.quit()

感受一下吧!

作者:猫与测试 链接:https://www.jianshu.com/p/081522a5e7f3 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Chrome 的 headless
  • Firefox 的 headless
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档