无头浏览器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:\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 pythonfrom pyvirtualdisplay import Displayfrom selenium import webdriverdisplay = Display(visible=0, size=(800, 600))display.start()# 现在firefox会运行在一个虚拟的屏幕之中.# 你看不到它.browser = webdriver.Firefox()browser.get('http://www.google.com')print browser.titlebrowser.quit()display.stop()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
以上就是静默使用selenium驱动firefox进行测试的方法
无头浏览器phantomJS的更多相关文章
- 07-selenium、PhantomJS(无头浏览器)
selenium(自动化测试工具可用于在爬虫中解决js动态加载问题) 简介(本质就是模仿浏览器工作) Selenium 是什么?一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safar ...
- 爬虫04 /asyncio、selenium规避检测、动作链、无头浏览器
爬虫04 /asyncio.selenium规避检测.动作链.无头浏览器 目录 爬虫04 /asyncio.selenium规避检测.动作链.无头浏览器 1. 协程asyncio 2. aiohttp ...
- 基于Python, Selenium, Phantomjs无头浏览器访问页面
引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输 ...
- PhantomJS框架(初识无头浏览器)
博主今天看到大神聊起 headless,首先我去了解了下这个概念 无头浏览器 selenium框架是有头浏览器的代表,即可看得见的浏览器 而headless browser无头浏览器,即看不见的浏览 ...
- 爬虫之 图片懒加载, selenium , phantomJs, 谷歌无头浏览器
一.图片懒加载 懒加载 : JS 代码 是页面自然滚动 window.scrollTo(0,document.body.scrollHeight) (重点) bro.execute_ ...
- 浏览器控制之 selenium,phantomJs谷无头浏览器
目录 浏览器控制之 selenium,phantomJs谷无头浏览器 selenium phantomJs 需求是尽可能多的爬取豆瓣网中的电影信息 谷歌无头浏览器 浏览器控制之 selenium,ph ...
- 爬虫如何使用phantomjs无头浏览器解决网页源代码经过渲染的问题(以scrapy框架为例)
一.浏览器的构成 许多开发商提供了商用的浏览器来解释和显示Web文档,而所有这些浏览器几乎都使用相同的体系架构.每一种浏览器(browser)通常由三部分构成:一个控制程序,客户协议和一些解释程序.控 ...
- 爬虫之图片懒加载技术、selenium工具与PhantomJS无头浏览器
图片懒加载技术 selenium爬虫简单使用 2.1 selenium简介 2.2 selenium安装 2.3 selenium简单使用 2.3.1 selenium使用案例 2.3.2 selen ...
- 爬虫之selenium模块;无头浏览器的使用
一,案例 爬取站长素材中的图片:http://sc.chinaz.com/tupian/gudianmeinvtupian.html import requests from lxml import ...
随机推荐
- hive on spark配置
1.安装java.maven.scala.hadoop.mysql.hive 略 2.编译spark ./make-distribution.sh --name "hadoop2-witho ...
- springboot 2.0部署到Tomat8.5上
1.改jar为war 2.改下打包的名字 3.删掉tomcat的webapps下面的所有文件夹.将打好的jar包放入到webapps下 4.运行tomcat,双击shutdown.bat 注意: sp ...
- Spring Boot事务管理(下)
在上两篇 Spring Boot事务管理(上)和Spring Boot事务管理(中)的基础上介绍注解@Transactional. 5 @Transactional属性 属性 类型 描述 value ...
- Jedis连接 HelloWorld实现
建一个Maven项目, pom里加下jedis依赖, <dependency> <groupId>redis.clients</groupId> <artif ...
- word文档发布至博客wordpress网站系统
今天ytkah接到一个需求:将word文档发布到wordpress网站上,因为客户那边习惯用word来编辑文章,想直接将内容导入到wp网站中,其实 Word 已经提供了这样的功能,并且能够保留 Wor ...
- Hive中MetaServer与HiveServer2的应用
在hive中有metaServer与hiveServer2两种服务,看了好多文章说这两个的区别,文章内容有对有错,不够全面,故在这里好好总结一下. 首先,下面这个hive构架图,我们一定不陌生,它反应 ...
- 腾讯云主机及CentOS7.2简单上手体验
前段时间拜读了崔庆才老师的<Python③网络爬虫开发实战>受益良多,对于初学爬虫的新手来说,本书真可谓是通俗易懂,非常适合新手入门.但是受制于没有服务器环境,书中很多例子难以模拟!最近正 ...
- 如何发布第一个属于自己的npm包 到公网
发布前的准备 1. 注册一个npm账号 前往NPM官网进行注册 2. 创建一个简单的包 在本地创建一个项目文件夹 mannymu_demo (名字自己取,不要和NPM上已有的包名重复冲突就好)然后通过 ...
- cocos中FPS数值的含义
在cocos2d-x 2.x ,大家都看到了左下角的FPS变成3行,多了两行数据. 1.最上面一行是指的当前场景的渲染批次.(简单理解为需要渲染多少个贴图出来) 2.中间一行是渲染每一帧需要的时间. ...
- Go 初体验 - 令人惊叹的语法 - defer.1 - 基本概念和用法
在我们编程时,难免遇见 流.远程连接.文件等 io 操作,为了高性能,我们不得不打开和关系这些 io 对象. 在 java.C# 语言里这些打开和关闭的操作都需要程序员自己选择操作时机,一般是在 io ...