目錄
- 一、頁面分析
- 二、引入selenium模塊及驅(qū)動
- 2.1 并將安裝好的Chromedriver.exe引入到代碼中
- 2.2 瀏覽器驅(qū)動引入
- 三、爬蟲模擬登錄
- 3.1 設(shè)置網(wǎng)址鏈接
- 3.2 切換到賬號密碼登錄
- 3.3 找到用戶名密碼的控件ID
- 3.4 注入用戶名和密碼
- 3.5 模擬登錄點擊
- 四、成功登錄CSDN
- 五、完整代碼
一、頁面分析
CSDN登錄頁面如下圖
二、引入selenium模塊及驅(qū)動
2.1 并將安裝好的Chromedriver.exe引入到代碼中
# -*- coding:utf-8 -*-
from selenium import webdriver
import os
import time
#引入chromedriver.exe
chromedriver="C:/Users/lex/AppData/Local/Google/Chrome/Application/chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
browser = webdriver.Chrome(chromedriver)
2.2 瀏覽器驅(qū)動引入
將驅(qū)動下載后,復(fù)制chromedriver.exe 到谷歌瀏覽器的安裝路徑下,與Chrome.exe啟動文件并列的目錄下:
三、爬蟲模擬登錄
3.1 設(shè)置網(wǎng)址鏈接
#設(shè)置瀏覽器需要打開的url
url = "https://passport.csdn.net/login?code=public"
browser.get(url)
3.2 切換到賬號密碼登錄
使用selenium模擬點擊 賬號密碼登錄的選項
#使用selenium選擇 賬號登錄按鈕
browser.find_element_by_link_text("賬號密碼登錄").click()
3.3 找到用戶名密碼的控件ID
3.4 注入用戶名和密碼
根據(jù)頁面代碼分析,獲得用戶名的id屬性為all,密碼的id屬性為password-number
使用python代碼,注入用戶名密碼
browser.find_element_by_id("all").clear()
browser.find_element_by_id("all").send_keys("xxxx@gmail.com")
time.sleep(2)
browser.find_element_by_id("password-number").clear()
browser.find_element_by_id("password-number").send_keys("1212121212")
3.5 模擬登錄點擊
分析頁面結(jié)構(gòu),模擬點擊登錄按鈕。
分析可獲得,登錄按鈕的class屬性為btn btn-primary,根據(jù)class來鎖定該按鈕
time.sleep(1)
#增加一秒鐘的時間間隔
browser.find_element_by_css_selector("[class='btn btn-primary']").click()
四、成功登錄CSDN
五、完整代碼
# -*- coding:utf-8 -*-
import os
import time
from selenium import webdriver # 從selenium導(dǎo)入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.webdriver.chrome.options import Options
import json
import time
#引入chromedriver.exe
chromedriver="C:/Users/lex/AppData/Local/Google/Chrome/Application/chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
browser = webdriver.Chrome(chromedriver)
#設(shè)置瀏覽器需要打開的url
url = "https://passport.csdn.net/login?code=public"
browser.get(url)
browser.find_element_by_link_text("賬號密碼登錄").click()
browser.find_element_by_id("all").clear()
browser.find_element_by_id("all").send_keys("你的郵箱地址")
time.sleep(1)
browser.find_element_by_id("password-number").clear()
browser.find_element_by_id("password-number").send_keys("你的登錄密碼")
time.sleep(1)
browser.find_element_by_css_selector("[class='btn btn-primary']").click()
到此這篇關(guān)于python爬蟲之利用selenium模塊自動登錄CSDN的文章就介紹到這了,更多相關(guān)python自動登錄CSDN內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python爬蟲請求庫httpx和parsel解析庫的使用測評
- Python爬蟲之爬取最新更新的小說網(wǎng)站
- 用Python爬蟲破解滑動驗證碼的案例解析
- Python爬蟲爬取愛奇藝電影片庫首頁的實例代碼
- Python爬蟲之爬取嗶哩嗶哩熱門視頻排行榜
- 上手簡單,功能強大的Python爬蟲框架——feapder
- python爬蟲之bs4數(shù)據(jù)解析
- python爬蟲之爬取百度翻譯
- python爬蟲基礎(chǔ)之簡易網(wǎng)頁搜集器
- python爬蟲之爬取筆趣閣小說
- python爬蟲之利用Selenium+Requests爬取拉勾網(wǎng)
- python基礎(chǔ)之爬蟲入門