每日簡單小妙招:使用python自動登入CSDN等各大網站

2021-05-14 11:14:50


1、程式碼演示

from selenium import webdriver
import time
#去掉自動化控制提示
options = webdriver.ChromeOptions()
options.add_experimental_option('useAutomationExtension', false)
options.add_experimental_option("excludeSwitches", ['enable-automation'])
#開啟Chrome瀏覽器,引數是chromedriver.exe驅動,下載方式下面會詳細說
# r是表名\不做為跳脫符
driver = webdriver.Chrome(r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
#最大化
driver.maximize_window()
#休眠一秒
time.sleep(1)
#定位到csdn登入頁面
driver.get('https://passport.csdn.net/login')
time.sleep(1)
#通過xpath定位到使用者名稱密碼登入位置,點選進行使用者名稱和密碼的輸入
driver.find_element_by_xpath('//*[@id="app"]/div/div/div[1]/div[2]/div[5]/ul/li[2]/a').click()
time.sleep(1)

#輸入使用者名稱和密碼函數,並進行登入操作
def _login_(username, password):
    input_username = driver.find_element_by_xpath('//*[@id="all"]')
    #點選賬戶輸入框
    input_username.click()
    # 情況輸入框中的內容
    input_username.clear()
    # 輸入使用者名稱
    input_username.send_keys(username)
	#通過id獲取元素
    input_password = driver.find_element_by_id('password-number')
    time.sleep(1)
    input_password.send_keys(password)
    driver.find_element_by_xpath('//*[@id="app"]/div/div/div[1]/div[2]/div[5]/div/div[6]/div/button').click()

username = "xxxxxxx"
password = "xxxxxxxx"
_login_(username, password)



2、過程詳解


2.1、chromedriver.exe驅動下載

2.1.1、chromedriver.exe簡介

chromeDriver.exe工具是Chrome的WebDriver,可以用於自動化測試,可以操作瀏覽器,同時selenium操作chrome瀏覽器需要有ChromeDriver驅動來協助

2.1.2、chromedriver.exe下載地址

下載地址:http://chromedriver.storage.googleapis.com/index.html

2.1.3、如何下載對應得版本

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

2.1.4、chromedriver.exe存放位置

解壓之後,放到Chrome的根目錄下
在這裡插入圖片描述

然後放到python專案的根目錄下
在這裡插入圖片描述

2.2、selenium詳解

Selenium 是一個用於Web應用程式測試的工具
框架底層使用JavaScript模擬真實使用者對瀏覽器進行操作。測試指令碼執行時,瀏覽器自動按照指令碼程式碼做出點選,輸入,開啟,驗證等操作,就像真實使用者所做的一樣,從終端使用者的角度測試應用程式。

2.3、元素物件獲取

2.3.1、定位

以百度搜尋方塊為例

在這裡插入圖片描述
右鍵搜尋方塊 -> 檢查,然後就會看到高亮顯示的程式碼,至此定位成功
在這裡插入圖片描述

2.3.2、獲取元素物件

1、通過id : find_element_by_id(‘id’)

‘id’為id屬性的值

2、通過class : find_element_by_class(‘class’)

’class’為class屬性的值

3、通過xpath : find_element_by_xpath(’’)

右鍵定位的搜尋方塊程式碼 -> copy -> copy xpath

2.4、流程

1、開啟Chrome瀏覽器
2、跳轉到csdn登入的地址
3、獲取賬號密碼登入元素物件,執行點選操作
在這裡插入圖片描述
4、定位到賬戶輸入框,輸入賬號
5、定位到密碼輸入框,輸入密碼
6、獲取登入按鈕元素物件,並執行點選操作



後續打包工具使用pyinstaller,不再多說

3、總結

一些大型網站都有強大的反爬機制,有時會進性滑動視窗和圖片的驗證操作,當然利用python也能快速的實現
在這裡插入圖片描述

欲知後事如何,請看下回分解

未完待續…