首页 技术 正文
技术 2022年11月12日
0 收藏 775 点赞 2,897 浏览 1694 个字

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 webdriverdriver = 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开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,736
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,487
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,127
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,289