专栏首页若是烟花Selenium 学习

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 。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python基本 -- threading多线程模块的使用

    python多线程编程,一般使用thread和threading模块。thread模块想对较底层,threading模块对thread模块进行了封装,更便于使用...

    lpe234
  • 传智播客OA项目学习--阶段三(Struts中Action书写)

    这样的话,一般就会有6种请求(addUI(), add(), delete(), editUI(), edit(), list())

    lpe234
  • 排序算法

    快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独...

    lpe234
  • Python property使用简介

    def __init__(self, username, password):

    授客
  • Sarsa(Lambda)-Sarsa升级版

    今天介绍的Sarsa(lambda)算法是Sarsa的改进版,二者的主要区别在于:

    CristianoC
  • ios5开发-UITableView开启编辑功能

    该例子添加UITableView编辑功能 具体功能如下 ? 功能很简单但很实用  @implementation AppDelegate @synthesiz...

    阿新
  • LeetCode 1351. 统计有序矩阵中的负数

    给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。

    Michael阿明
  • JS开发 女性最佳身材计算器

    女性最佳身材计算器根据你输入的身高,即能得出最佳身材,根据东方女性的特征而定!  女性最佳身材计算器可以根据你输入的身高来计算上臂围,胸围,腰围下限,腰围上限,...

    青菜肉丸
  • rewrite带参数的URL

    将类似http://xxxx.com/kefu/?link=http://xxxxxx的链接,写一个rewrite规则直接跳转到link后面的链接。

    dogfei
  • Protobuf协议?盘他!

    Protobuf是Google基于C++ 进行的实现的一套数据序列化/反序列化库,开发人员可以根据 ProtoBuf 的语言规范生成多种编程语言(C++、Pyt...

    audy

扫码关注云+社区

领取腾讯云代金券