淘宝使用selenium扫码登录

接于上篇《谈谈关于秒杀器》,本篇完成利用python的自动化测试selenium库完成淘宝的扫码登录。

工具:python2.7.13、selenium、IDE(PyCharm)、MacBook Pro

第一步:需要引进的包库

  # -*- coding: UTF-8 -*-

import webbrowser as web
import os
from selenium import webdriver
import datetime
import time
from selenium.common.exceptions import NoSuchElementException

第二步:申明chromedriver的路径,并加载chromedriver。chromedriver的下载地址

chromedriver = "/usr/local/bin/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = 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()

淘宝优惠劵超市

你可能感兴趣的:(淘宝使用selenium扫码登录)