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自动化测试环境的更多相关文章

  1. Python+Selenium UI自动化测试环境搭建及使用

    一什么是Selenium ? Selenium 是一个浏览器自动化测试框架,它主要用于web应用程序的自动化测试,其主要特点如下:开源.免费:多平台.浏览器.多语言支持:对web页面有良好的支持:AP ...

  2. Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python

    Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...

  3. Selenium + Nightwatch 自动化测试环境搭建

    首先要安装 Java 7 或更高 ,(http://www.oracle.com/technetwork/java/javase/downloads/index.html) 并且 java 命令可正常 ...

  4. Selenium终极自动化测试环境搭建(一) Selenium+Eclipse+Junit+TestNG

    Selenium终极自动化测试环境搭建(一)Selenium+Eclipse+Junit+TestNG 第一步 安装JDK JDk1.7. 下载地址:http://www.oracle.com/tec ...

  5. Selenium终极自动化测试环境搭建(二):Selenium+Eclipse+Python

    前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上,下面再举例Selenium+Eclipse+Python测试环境搭建. 第一步:安装Pyth ...

  6. Python+Selenium - Web自动化测试(一):环境搭建

    清单列表: Python 3x Selenium Chrome Pycharm 一.Python的安装: Python官网下载地址:https://www.python.org/ 1.  进入官网地址 ...

  7. python+selenium+PhantomJS爬取网页动态加载内容

    一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览 ...

  8. 看我怎么扒掉CSDN首页的底裤(python selenium+phantomjs爬取CSDN首页内容)

    这里只是学习一下动态加载页面内容的抓取,并不适用于所有的页面. 使用到的工具就是python selenium和phantomjs,另外调试的时候还用了firefox的geckodriver.exe. ...

  9. python+selenium+PhantomJS批量投递智联简历(不要用自己的账号进行测试,请使用小号,很烦人的,哈哈哈)

    1.环境python2.7+selenium+PhantomJS(软件安装和库的安装网上都有教程我们跳过,so easy) 2.原理 绕过首页登录需要验证码,直接进入搜索栏,输入搜索的职位+地区搜索出 ...

随机推荐

  1. python操作excel文件一(xlrd读取文件)

    一般做接口测试,会把参数和一些数据放入excel表中,这样就不会重新编译代码,提高效率.一般如何操作呢?接下来跟着步骤一起学习吧 执行步骤: 1.首先要安装 xlrd这个模块,用 pip instal ...

  2. Luogu P2575 高手过招

    题目链接 \(Click\) \(Here\) 关键在于转换成阶梯\(Nim\)的模型.最开始把题目看错了,理解正确后发现棋子可以向后跳不止一位,那么就比较简单了. 这里把空格看做阶梯,棋子看做硬币, ...

  3. 【清北学堂2018-刷题冲刺】Contest 6

    Task 1:子集 [问题描述]  若一个集合S中任意两个元素x和y,都满足x⊕y<min⁡(x, y) ,则称集合S是"好的".其中⊕为按位异或运算符.现在给定一个大小为n ...

  4. grovvy生成随机汉字名字

    StringBuilder sb = new StringBuilder(); for(int i = 0 ;i < 3; i++){ sb.append((char) (0x4e00 + (i ...

  5. Reference-TMB

    Paper Name:Targeted Next Generation Sequencing Identifies Markers of Response to PD-1 Blockade Adress ...

  6. Linux网卡调优篇-禁用ipv6与优化socket缓冲区大小

    Linux网卡调优篇-禁用ipv6与优化socket缓冲区大小 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一般在内网环境中,我们几乎是用不到IPV6,因此我们没有必要把多不 ...

  7. MyBatis-SqlSessionFactory的创建

    Main 方法,mybatis 版本为 3.5.0 解析配置文件的所有信息,保存在 Configuration 中,返回包含 Configuration 的 DefaultSqlSession Map ...

  8. Linux记录-linux系统监控命令汇总

    命令 功能应用 用法举例     free 查看内存使用情况,包括物理内存和虚拟内存 free -h或free -m     vmstat 对系统的整体情况进行统计,包括内核进程.虚拟内存.磁盘.陷阱 ...

  9. 【1】Java中double转BigDecimal的注意事项

    项目遇到该问题 先上结论:不要直接用double变量作为构造BigDecimal的参数. 线上有这么一段Java代码逻辑: 1,接口传来一个JSON串,里面有个数字:57.3. 2,解析JSON并把这 ...

  10. HDU 6400(括号组合 ~)

    题意是说在 h 行 w 列的矩阵中,通过设计使得尽可能多的行或列能满足题中的平衡条件. 如果行数(列数)是奇数,那么每一列(行)一定不能平衡,就要按照满足每一行(列)平衡,输出“ () “:若行数和列 ...