溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么利用python Selenium實(shí)現(xiàn)自動(dòng)登陸京東簽到領(lǐng)金幣功能

發(fā)布時(shí)間:2021-04-27 12:41:11 來源:億速云 閱讀:730 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下怎么利用python Selenium實(shí)現(xiàn)自動(dòng)登陸京東簽到領(lǐng)金幣功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

python可以做什么

Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。

如何自動(dòng)登陸京東?

我們先來看一下京東的登陸頁面,如下圖所示:

【插入圖片,登陸頁面】

怎么利用python Selenium實(shí)現(xiàn)自動(dòng)登陸京東簽到領(lǐng)金幣功能

登陸框就是右面這一個(gè)框框了,但是目前我們遇到一個(gè)困吶,默認(rèn)的登陸方式是掃碼登陸,如果我們想要以用戶民個(gè)、密碼的形式登陸,就要切換一下。

我們看一下這兩種登陸方式是如何切換的,通過瀏覽器的元素檢查,我們看一下兩個(gè)標(biāo)簽。

【插入圖片,兩種登陸方式】

怎么利用python Selenium實(shí)現(xiàn)自動(dòng)登陸京東簽到領(lǐng)金幣功能

掃碼登陸和用戶登陸分別在一個(gè)div標(biāo)簽里面,我們可以通過css選擇器選定用戶登陸,使其下面的a標(biāo)簽的class為checked,接下來的一切就比較簡(jiǎn)單了。

我們要獲取到用戶名輸入框、密碼輸入框以及登陸按鈕即可。

【插入圖片,用戶登陸框】

怎么利用python Selenium實(shí)現(xiàn)自動(dòng)登陸京東簽到領(lǐng)金幣功能

下面看一下實(shí)現(xiàn)的代碼,假設(shè)我們通過FireFox瀏覽器模擬登陸吧。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import time
login_url='https://passport.jd.com/uc/login'
uid='********'
pwd='********'
browser=webdriver.Firefox()
wait=WebDriverWait(browser, 10)
def login():
  try:
    browser.get(login_url)
    login_tab_u=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.login-tab:nth-child(3)")))
    login_tab_u.click()#這里我們沒有獲取那個(gè)a標(biāo)簽,而是直接獲取外層的div標(biāo)簽,比較簡(jiǎn)單而且方便
    uid_input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#loginname")))
    pwd_input=wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#nloginpwd")))
    login_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#loginsubmit")))
    uid_input.send_keys(uid)
    pwd_input.send_keys(pwd)
    login_button.click()
  except TimeoutException:
    login()
def main():
  login()
  time.sleep(5)
  browser.close()
if __name__=='__main__':
  main()

如何自動(dòng)簽到領(lǐng)金幣?

領(lǐng)金幣一定要登陸vip頁面才可以。

vip頁面的url='https://vip.jd.com/home.html‘

但是要登陸vip頁面的話,還是會(huì)跳轉(zhuǎn)到第一步的那個(gè)登陸頁面,我們利用第一步的方法登陸即可。

【插入圖片,簽到頁面】

怎么利用python Selenium實(shí)現(xiàn)自動(dòng)登陸京東簽到領(lǐng)金幣功能

簽到的鏈接在右側(cè),我們獲取到這個(gè)鏈接點(diǎn)擊就行了。

【插入圖片,簽到鏈接】

怎么利用python Selenium實(shí)現(xiàn)自動(dòng)登陸京東簽到領(lǐng)金幣功能

這個(gè)標(biāo)簽很簡(jiǎn)單。

vip_url='https://vip.jd.com/home.html'
def user_singin():
  try:
    browser.get(vip_url)
    login_tab_u=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.login-tab:nth-child(3)")))
    login_tab_u.click()
    uid_input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#loginname")))
    pwd_input=wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#nloginpwd")))
    login_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#loginsubmit")))
    uid_input.send_keys(uid)
    pwd_input.send_keys(pwd)
    login_button.click()
    sign_in_button=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#signIn")))
    sign_in_button.click()
    print('您已簽到成功!')
  except TimeoutException:
    user_singin()

前面的代碼跟上面是一樣的,只不過要獲取到簽到的標(biāo)簽。

這種登陸方式基本上可以用于任何網(wǎng)站,只不過做一些修改就可以了。

以上是“怎么利用python Selenium實(shí)現(xiàn)自動(dòng)登陸京東簽到領(lǐng)金幣功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI