无头浏览器phantomJS

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:Python27python.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

以上就是静默使用selenium驱动firefox进行测试的方法

原文地址:https://www.cnblogs.com/yoyoma0355/p/9681330.html