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程序抓取网页的HTML信息的一个小实例
May 02 Python
Pycharm学习教程(4) Python解释器的相关配置
May 03 Python
Django在win10下的安装并创建工程
Nov 20 Python
python绘制简单折线图代码示例
Dec 19 Python
利用Python如何实现一个小说网站雏形
Nov 23 Python
python远程连接MySQL数据库
Apr 19 Python
Python数据结构与算法(几种排序)小结
Jun 22 Python
django框架创建应用操作示例
Sep 26 Python
对tensorflow中cifar-10文档的Read操作详解
Feb 10 Python
Python多重继承之菱形继承的实例详解
Feb 12 Python
Python xlwt模块使用代码实例
Jun 10 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
php 静态化实现代码
2009/03/20 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
PHP 实现重载
2021/03/09 PHP
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
使用js 设置url参数
2013/07/08 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
从零使用TypeScript开发项目打包发布到npm
2020/02/14 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
解析Python中while true的使用
2015/10/13 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
Python脚本处理空格的方法
2016/08/08 Python
python书籍信息爬虫实例
2018/03/19 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
python中os包的用法
2020/06/01 Python
使用python实现名片管理系统
2020/06/18 Python
Python 内存管理机制全面分析
2021/01/16 Python
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
教学器材管理制度
2014/01/26 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
食品安全演讲稿
2014/09/01 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
如何使用pdb进行Python调试
2021/06/30 Python
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers