python编程使用selenium模拟登陆淘宝实例代码


Posted in Python onJanuary 25, 2018

selenium简介

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点:

  • * 免费,也不用再为破解QTP而大伤脑筋
  • * 小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序。
  • * 这也是最重要的一点,不管你以前更熟悉C、 java、ruby、python、或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS
  • * 支持多平台:windows、linux、MAC ,支持多浏览器:ie、ff、safari、opera、chrome
  • * 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。

selenium安装(Windows)

方法1、通过pip 安装

C:\Users\fnngj>python3 -m pip install selenium

方法2、通过下载包安装

直接下载selenium包:

https://pypi.python.org/pypi/selenium

解压,cmd进入目录:

C:\selenium\selenium2.53.5> python3 setup.py install

python使用selenium模拟登陆淘宝

实例代码

#coding=utf-8

import time
import datetime
import sys
import os
import random

import logging

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver import ActionChains
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

def common_click(driver,element_id,sleeptime=3):
  actions = ActionChains(driver)
  actions.move_to_element(element_id)
  actions.click(element_id)
  actions.perform()
  time.sleep(sleeptime) 

def login_in(user,pwd):
  #open login page
  driver.get('https://login.taobao.com/member/login.jhtml')
  time.sleep(3)
  sb=driver.find_element_by_class_name("login-switch")
  commonclick(driver,sb)
  userbox=driver.find_element_by_id("TPL_username_1")
  pwdbox=driver.find_element_by_id("TPL_password_1")
  userbox.clear()
  userbox.send_keys(user)
  commonclick(driver,pwdbox) 
  pwdbox.send_keys(pwd)
  loadmore=driver.find_element_by_id("J_SubmitStatic")
  commonclick(driver,loadmore)
  time.sleep(20)
if __name__ == '__main__': 
  DesiredCapabilities.PHANTOMJS['phantomjs.page.settings.loadImages'] = True 
  DesiredCapabilities.PHANTOMJS['phantomjs.page.settings.userAgent'] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0 "

  driver = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true'])
  driver.set_script_timeout(30)
  driver.set_page_load_timeout(30)

  login_in(user,password)

总结

以上就是本文关于python编程使用selenium模拟登陆淘宝实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python Web开发模板引擎优缺点总结
May 06 Python
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 Python
Python模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
Python抓取电影天堂电影信息的代码
Apr 07 Python
Python编程实现二叉树及七种遍历方法详解
Jun 02 Python
深入理解python中函数传递参数是值传递还是引用传递
Nov 07 Python
pandas中的DataFrame按指定顺序输出所有列的方法
Apr 10 Python
详解Python:面向对象编程
Apr 10 Python
用python给自己做一款小说阅读器过程详解
Jul 11 Python
Python散点图与折线图绘制过程解析
Nov 30 Python
解决pytorch 模型复制的一些问题
Mar 03 Python
python神经网络Xception模型
May 06 Python
python画出三角形外接圆和内切圆的方法
Jan 25 #Python
Python实现批量压缩图片
Jan 25 #Python
python生成圆形图片的方法
Mar 25 #Python
scrapy spider的几种爬取方式实例代码
Jan 25 #Python
scrapy爬虫完整实例
Jan 25 #Python
python实现画圆功能
Jan 25 #Python
Python中常用信号signal类型实例
Jan 25 #Python
You might like
几种显示数据的方法的比较
2006/10/09 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
Jquery 设置标题的自动翻转
2009/10/03 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
vue组件间通信解析
2017/03/01 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
vue实现多组关键词对应高亮显示功能
2019/07/25 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
Python类定义和类继承详解
2015/05/08 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
简单了解django索引的相关知识
2019/07/17 Python
python能做什么 python的含义
2019/10/12 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
python中的测试框架
2020/11/13 Python
python基于opencv实现人脸识别
2021/01/04 Python
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
升职自荐信
2013/11/28 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
小学生作文批改评语
2014/12/25 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP