Selenium 学习
jopen
10年前
通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。
一、概要
官方教程: http://selenium-python.readthedocs.org/
安装的话,直接使用 pip install selenium 即可
二、简单示例
简单示例,详细的内容看教程即可。
# -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2014-12-30' from selenium import webdriver class baiduLogin(object): """ 百度登陆类,直接打开浏览器,自动填写应户名、密码 进行登陆 """ login_url = 'https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F' def __init__(self, username, password): self.uuername = username self.password = password self.driver = webdriver.Firefox() def do_login(self): self.driver.get(self.login_url) username_elem = self.driver.find_element_by_id("TANGRAM__PSP_3__userName") password_elem = self.driver.find_element_by_id("TANGRAM__PSP_3__password") submit_elem = self.driver.find_element_by_id("TANGRAM__PSP_3__submit") username_elem.send_keys(self.uuername) password_elem.send_keys(self.password) submit_elem.click() if __name__ == '__main__': username = 'admin' password = '123' bl = baiduLogin(username, password) bl.do_login()
需要已经安装 Firefox浏览器。大体执行流程:打开浏览器 -》 并访问登陆界面地址 -》 自动输入用户名、密码 -》 自动点击 登陆 按钮
三、其他
selenium一般用于网站自动化测试,以及数据抓取中对难以处理的JS等对DOM的修改情况造成的数据难以抓取而采取的在本地模拟执行JS等脚本然后再解析数据的需求。
一般不需要显式的打开浏览器执行代码,此时就需要使用 PhantomJS 。