您的位置:首页 > 编程语言 > Python开发

python初学selenium+phantomjs遇到的问题

2016-01-11 13:43 555 查看
自动化测试神器 selenium+phantomjs

Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。

PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。 PhantomJS 可以用于 页面自动化 , 网络监测 , 网页截屏 ,以及 无界面测试 等。

selenium直接可以用在dos界面pip安装,pip install selenium

phantomjs可以在http://phantomjs.org直接下载,解压就可以用了,

selenium+phantomjs的简单应用

#coding:gb2312
from selenium import webdriver
driver = webdriver.PhantomJS(executable_path=r"D:\phantomjs\bin\phantomjs.exe")
driver.get("http://www.qq.com")
data = driver.title
driver.save_screenshot('qq.png')
print data


可以把腾讯首页保存下来

其中executable_path是phantomjs的解压路径

在过程中出现ImportError: cannot import name webdriver

后来百度了一下,知道了错误的原因主要是启动时候路劲不对,使用

import selenium
print selenium.__file__


查看路径只要把该文件下的selenium.py删除就可以

4. selenium自动访问浏览器

访问Firefox比较简单一点

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import sys
reload(sys)
sys.setdefaultencoding('gb2312')
设置编码格式
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
elem = driver.find_element_by_name("wd")
可以通过审查元素查看输入框的name="wd"
elem.send_keys("bzd111")
百度搜索键盘输入bzd111
elem.send_keys(Keys.RETURN)


访问Google稍微难一点,需要下载chromedriver.exe驱动

链接地址http://chromedriver.storage.googleapis.com/index.html?path=2.7和chrome.exe应用程序放在一起,就可以了

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import sys
reload(sys)
sys.setdefaultencoding('gb2312')
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
assert"百度" in driver.title
elem = driver.find_element_by_name("wd")
elem.send_keys("bzd111")
elem.send_keys(Keys.RETURN)
#driver.close()
#driver.quit()


过程和Firefox差不多,只是要多一个驱动

http://selenium-python.readthedocs.org/getting-started.html

可以在上诉链接好好看看文档

( 写于2016年1月11日13点,http://blog.csdn.net/bzd_111
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python selenium