这篇文章主要介绍了 python 编程使用 selenium 模拟登陆淘宝实例代码, 涉及 selenium 的简介及 Windows 下的安装, 分享了相关代码示例, 小编觉得还是挺不错的, 具有一定借鉴价值, 需要的朋友可以参考下
selenium 简介
selenium 是一个 web 的自动化测试工具, 不少学习功能自动化的同学开始首选 selenium , 相因为它相比 QTP 有诸多有点:
* 免费, 也不用再为破解 QTP 而大伤脑筋
* 小巧, 对于不同的语言它只是一个包而已, 而 QTP 需要下载安装 1 个多 G 的程序
* 这也是最重要的一点, 不管你以前更熟悉 C javarubypython 或都是 C# , 你都可以通过 selenium 完成自动化测试, 而 QTP 只支持 VBS
* 支持多平台: windowslinuxMAC , 支持多浏览器: ieffsafarioperachrome
* 支持分布式测试用例的执行, 可以把测试用例分布到不同的测试机器的执行, 相当于分发机的功能
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)
来源: http://www.phperz.com/article/18/0209/363243.html