今天尝试了一些selenium,感觉并没有想象中那么难。整理一篇笔记出来。
笔者使用的是Python+selenium。以下内容均是基于Windows系统和Python3.5.2.
首先是下载selenium
运行cmd.exe
执行pip install selenium
然后就是浏览器,需要找到selenium支持的浏览器,我在网上百度了一下,蛮多的,但是我很懒,于是我装了一个老版的Firefox,因为Firefox里webdriver是自带的。不是我不想用新版的,我电脑上最初也是最新的Firefox,但是发现貌似不支持selenium的使用,无奈就换成了老版的。
OK,现在环境配好了。我们可以开始实现第一个简单的UI自动化的脚本。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
#定义一个自动访问百度进行搜索
def get_search():
#通过url去打开火狐并访问百度
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
#检查标题中是否存在百度
assert "百度" in driver.title
#定位name=wd的元素
elem = driver.find_element_by_name("wd")
#模拟键盘操作,输入xx
elem.send_keys("xx")
#模拟键盘操作点击回车键
elem.send_keys(Keys.RETURN)
get_search()
首先导入selenium和selenium中模拟键盘操作的方法
然后使用webdriver打开火狐浏览器,并且访问百度
使用断言判断页面的标题是否含有“百度”
按照图中的方式,我们定位到了百度输入框在html中的位置,接下来我们使用name方法去定位输入框。
定位到输入框之后,我们就使用send.keys方法模拟键盘操作,在输入框中输入内容
然后模拟键盘进行回车,就可以跳转到我们想要搜索的内容的界面了。
一个简单的小脚本就这样实现了,并不是很难。笔者目前在尝试phantomjs进行动态页面的操作。遇到了点小问题,回头分享给大家