接于上篇《談?wù)勱P(guān)于秒殺器》馋袜,本篇完成利用python的自動(dòng)化測(cè)試selenium庫(kù)完成淘寶的掃碼登錄闽坡。
工具:python2.7.13账嚎、selenium泊窘、IDE(PyCharm)、MacBook Pro
第一步:需要引進(jìn)的包庫(kù)
# -*- 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)
第三步:最重要的部分,原理就是:打開淘寶首頁(yè)尋找登錄界面胆敞,再找到二維碼登錄界面着帽。尋找二維碼鏈接,找到二維碼鏈接后大家可以把它顯示出來(lái)竿秆,我是直接打開掃描的启摄。然后去檢測(cè)當(dāng)前的url有沒(méi)有跳轉(zhuǎn),跳轉(zhuǎn)了就表示成功掃碼登錄了幽钢。后面我會(huì)加上二維碼超時(shí)沒(méi)掃描的功能歉备。我直接上代碼。有問(wèn)題的可以給我留言匪燕,我來(lái)解決:
def login():
driver.get("https://www.taobao.com")
driver.maximize_window()
if driver.find_element_by_link_text("親蕾羊,請(qǐng)登錄"):
driver.find_element_by_link_text("親,請(qǐng)登錄").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 "請(qǐng)掃碼登錄..."
time.sleep(1)
except NoSuchElementException:
print "成功登錄..."
print driver.current_url
break
time.sleep(1)
第四步:調(diào)用淘寶掃碼登錄模塊:
login()