接于上篇《谈谈关于秒杀器》,本篇完成利用python的自动化测试selenium库完成淘宝的扫码登录。
工具:python2.7.13、selenium、IDE(PyCharm)、MacBook Pro
第一步:需要引进的包库
# -*- coding: UTF-8 -*-import webbrowser as webimport osfrom selenium import webdriverimport datetimeimport timefrom selenium.common.exceptions import NoSuchElementException
第二步:申明chromedriver的路径,并加载chromedriver。chromedriver的下载地址
chromedriver = "/usr/local/bin/chromedriver"os.environ["webdriver.chrome.driver"] = chromedriverdriver = webdriver.Chrome(chromedriver)
第三步:最重要的部分,原理就是:打开淘宝首页寻找登录界面,再找到二维码登录界面。寻找二维码链接,找到二维码链接后大家可以把它显示出来,我是直接打开扫描的。然后去检测当前的url有没有跳转,跳转了就表示成功扫码登录了。后面我会加上二维码超时没扫描的功能。我直接上代码。有问题的可以给我留言,我来解决:
def login(): driver.get("https://www.taobao.com") driver.maximize_window() if driver.find_element_by_link_text("亲,请登录"): driver.find_element_by_link_text("亲,请登录").click(); time.sleep(1) if driver.find_element_by_id("J_QRCodeImg"): print 'get the QRCodeImgUrl.....' print driver.find_element_by_id("J_QRCodeImg").find_element_by_tag_name("img").get_attribute("src") use_chrome_open_url( driver.find_element_by_id("J_QRCodeImg").find_element_by_tag_name("img").get_attribute("src")) while True: try: if driver.find_element_by_link_text("密码登录"): print "请扫码登录..." time.sleep(1) except NoSuchElementException: print "成功登录..." print driver.current_url break time.sleep(1)
第四步:调用淘宝扫码登录模块:
login()
本篇完成利用python的自动化测试selenium库完成淘宝的扫码登录。
最重要的部分,原理就是:打开淘宝首页寻找登录界面
寻找二维码链接,找到二维码链接后大家可以把它显示出来
然后去检测当前的url有没有跳转,跳转了就表示成功扫码登录了