python selenium+phantomJS自动化测试环境
0x00配置phantomJS
1、 在windows平台下
此种方法是弹浏览器进行自动化测试的。
1、下载谷歌的驱动
https://chromedriver.storage.googleapis.com/index.html
2、将解压后的chromedriver.exe放到chrome浏览器的安装目录下。
3、在代码中调用浏览器驱动,执行自动化操作。
chromedriver = 'chromedriver绝对路径'
driver = webdriver.Chrome(chromedriver)
driver.get(url)
2、在linux命令行无界面下
使用phantomJS配合selenium,可以创建无界面的浏览器,这样即可达到我们的目的。
配置方法:
1.安装phantomJS
安装包下载地址:http://phantomjs.org/download.html,包括Windows,Mac OS,Linux版本,自行选择对应版本下载解压即可
sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
用 tar 解压 tar.bz2 文件时可能会遇到这个错误
debian:/usr/src# tar jxf linux-2.6.26.tar.bz2
tar: bzip2: Cannot exec: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
解决办法:
此问题时缺少bzip2工具,安装该工具。
yum install bzip2
0x02 安装selenium
pip install selenium
到这里。环境就配置好了。接下来就可以上代码了。
0x03 示例代码
主要记录一下常用用法:
from selenium import webdriver driver = webdriver.PhantomJS(executable_path='/bin/phantomjs/bin/phantomjs')#这里的executable_path填你phantomJS的路径 driver.get('http://www.xxxx.com')
print driver.title # 获取title值
pageSource = driver.page_source # 获取全文内容
elem_text = driver.find_element_by_name("text") # 通过想输入地方的name值来定位
elem_text.send_keys(articles) # 发送的内容
driver.find_element_by_class_name("class值")
driver.find_element_by_id("btn-submit").click() # 通过id值来定位,并模拟点击提交
driver.quit()
可能出现的报错信息:
selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH
这种报错就是你的PhantomJS保存路径填错了,检查填写的路径是否为phantomjs程序的保存路径。
注意这里使用的是windows系统,在路径前面需要加上r,参考给出的代码语句。
browser = webdriver.PhantomJS(executable_path=r'C:\Users\lyh\Anaconda2\phantomjs-2.1.1-windows\bin\phantomjs.exe')
参考文章
https://blog.csdn.net/lambert310/article/details/48734389
https://blog.csdn.net/JohinieLi/article/details/76622776
python selenium+phantomJS自动化测试环境的更多相关文章
- Python+Selenium UI自动化测试环境搭建及使用
一什么是Selenium ? Selenium 是一个浏览器自动化测试框架,它主要用于web应用程序的自动化测试,其主要特点如下:开源.免费:多平台.浏览器.多语言支持:对web页面有良好的支持:AP ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- Selenium + Nightwatch 自动化测试环境搭建
首先要安装 Java 7 或更高 ,(http://www.oracle.com/technetwork/java/javase/downloads/index.html) 并且 java 命令可正常 ...
- Selenium终极自动化测试环境搭建(一) Selenium+Eclipse+Junit+TestNG
Selenium终极自动化测试环境搭建(一)Selenium+Eclipse+Junit+TestNG 第一步 安装JDK JDk1.7. 下载地址:http://www.oracle.com/tec ...
- Selenium终极自动化测试环境搭建(二):Selenium+Eclipse+Python
前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上,下面再举例Selenium+Eclipse+Python测试环境搭建. 第一步:安装Pyth ...
- Python+Selenium - Web自动化测试(一):环境搭建
清单列表: Python 3x Selenium Chrome Pycharm 一.Python的安装: Python官网下载地址:https://www.python.org/ 1. 进入官网地址 ...
- python+selenium+PhantomJS爬取网页动态加载内容
一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览 ...
- 看我怎么扒掉CSDN首页的底裤(python selenium+phantomjs爬取CSDN首页内容)
这里只是学习一下动态加载页面内容的抓取,并不适用于所有的页面. 使用到的工具就是python selenium和phantomjs,另外调试的时候还用了firefox的geckodriver.exe. ...
- python+selenium+PhantomJS批量投递智联简历(不要用自己的账号进行测试,请使用小号,很烦人的,哈哈哈)
1.环境python2.7+selenium+PhantomJS(软件安装和库的安装网上都有教程我们跳过,so easy) 2.原理 绕过首页登录需要验证码,直接进入搜索栏,输入搜索的职位+地区搜索出 ...
随机推荐
- SpringCloud-初识
说道SpringCloud,原来就去了解过,也有很大兴趣,只是当初不知道这是个什么东西.在它之前,我学习Spring,在官网肆无忌惮的逛的时候,发现了SpringBoot,那个时候就打算开始学习Spr ...
- 如何把dedecms数据生成json
最近搞dede搞得头大,长话短说! 名称:json数据调用 功能:调用某个远程连接的json接口,方便同远程站点之间进行通信来调取内容 语法: {dede:json url='http://news/ ...
- 牛客网 2018年东北农业大学春季校赛 I题 wyh的物品
链接:https://www.nowcoder.com/acm/contest/93/I 来源:牛客网 时间限制:C/C++ 5秒,其他语言10秒空间限制:C/C++ 262144K,其他语言5242 ...
- halcon几何变换(仿射变换)
旋转.平移.镜像.缩放.斜切,可参考https://blog.csdn.net/machaoyu86/article/details/51182473 仿射变换前,需要获得仿射变换矩阵. 关于shap ...
- 【清北学堂2018-刷题冲刺】Contest 1
Task 1:最小公倍数 输入n,求n与246913578的最小公倍数. 结果对1234567890取模. [样例输入] 3 [样例输出] 246913578 [数据规模和约定] 对于30%的数据 ...
- 流明(lux)和坎德拉;
流明是光照度: 坎德拉是光强: 流明是光通量的单位, cd是光强单位 光强是单位立体角的光通量: 照度是单位面积的光通量: 尼特是亮度单位 1尼特 = 1CD/m^2: 1 lx = 1 流明每 ...
- MySQL双主+keeplived安装部署说明
MySQL双主+keeplived安装部署说明 一.环境介绍 1.1.规划 序号 类别 版本 主机名 IP 端口 备注 1 OS CentOS release 6.9 (Final) (minimal ...
- mysql如何从全备文件中恢复单个库或者单个表
mysql如何从全备文件中恢复单个库或者单个表 在mysql dba的日常实际工作中,一个实例下有多个库,而我们常见的备份就是全库备份.那么问题就来了,如果需要恢复单个库或者单个表,怎么办了,网上有很 ...
- ansible 基础一
安装 解决依赖关系: yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto tar包安装 htt ...
- Java Bean的规范
什么是Java Bean? Java Bean就是遵循了某种规范的类,所以Java Bean就是一个类,只不过遵循了某种规范而已. Java Bean的规范 就是这么简单,下面就是一个标准的Java ...