selenium: 有头浏览器的代表(selenium+python也可实现静默运行 引入python的一个包,包叫:虚拟屏幕pyvirtualdisplay)
PhantomJS : 无头浏览器的代表
参考链接:
https://www.cnblogs.com/cllovewxq/p/8072127.html(无头浏览器)
PhantomJS框架(初识无头浏览器)
selenium框架是有头浏览器的代表,即可看得见的浏览器
而headless browser无头浏览器,即看不见的浏览器
所谓看不见的浏览器,通过JS在后台运行有关浏览器的一切操作省去可视化浏览器的操作,提高自动化的兼容性稳定性。
而无头浏览器的代表: PhantomJS框架
这里给出官方网站:http://phantomjs.org/,可以选择需要下载的版本
博主是windows版本的,文件解压在python路径下,再把文件目录bin下的 phantomjs.exe 复制到python的 Scripts路径下,即安装完毕
用百度首页为例子:
1 # -*- coding: utf_8 -*-
2
3 from selenium import webdriver
4 driver = webdriver.PhantomJS()
5 driver.get("http://www.baidu.com/")
6 data = driver.title 7 print data
运行的结果:
C:\Python27\python.exe F:/PythonProject/MyProject/chenlei/learn/learn_1027.py 百度一下,你就知道 进程已结束,退出代码0
运行过程中可以发现与selenium本身的 webdriver相比,没有打开浏览器的操作,但是输出的结果是正确的
参考链接:
https://blog.csdn.net/qq_28053189/article/details/69950339
网页处理实践(3)——python+selenium+firefox,不弹出窗口,静默模式运行
selenium+firefox,不弹出窗口,静默模式运行
在使用selenium驱动有前端显示的浏览器(如firefox,chrome等)我们会经常遇到浏览器不停弹出的情况十分烦人,有没有方法解决,答案是有:
通过使用pyvirtualdisplay,创建虚拟屏幕,将浏览器运行在这个虚拟的屏幕之中
1、首先下载依赖包,我是在python中使用的
$ sudo apt-get install xvfb python-pip $ sudo pip install pyvirtualdisplay
- 1
- 2
2、创建虚拟屏幕,使用方法
#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(800, 600))
display.start()
# 现在firefox会运行在一个虚拟的屏幕之中.
# 你看不到它.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()
display.stop()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16