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 。