Python如何基于selenium實(shí)現(xiàn)自動(dòng)登錄博客園
這篇文章主要介紹了Python如何基于selenium實(shí)現(xiàn)自動(dòng)登錄博客園,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
需要做的準(zhǔn)備:
本文章是使用Chrome,所以需要Chormedriver.exe,具體的下載過(guò)程可以百度查到
Selenium是一種自動(dòng)化測(cè)試工具,能模擬瀏覽器的行為,所以今天我就模擬一下瀏覽器登陸博客園的行為。
首先,分析問(wèn)題,登陸博客園需要做些什么:
1.打開(kāi)瀏覽器
2.輸入博客園主頁(yè)的網(wǎng)址
3.點(diǎn)擊登陸按鈕,等待頁(yè)面跳轉(zhuǎn)
4.輸入賬號(hào)密碼,點(diǎn)擊登陸
知道了步驟,接下來(lái)我們用代碼來(lái)實(shí)現(xiàn)它:from selenium import webdriverimport time#創(chuàng)建登陸類
from selenium import webdriver import time class Loadup: def __init__(self,username,password): self.username = username self.password = password self.driver = webdriver.Chrome() def closeBrowser(self): self.driver.close() def login(self): driver = self.driver driver.get('https://www.cnblogs.com/') time.sleep(2) # 使用xpath的方法來(lái)定位元素 login_button = driver.find_element_by_xpath("http://a[@onclick='login();return false']") login_button.click() time.sleep(2) # 使用xpath的方法來(lái)定位元素 username_elem = driver.find_element_by_xpath("http://input[@name='LoginName']") # 使用xpath的方法來(lái)定位元素 username_elem.clear() username_elem.send_keys(self.username) # 使用xpath的方法來(lái)定位元素 password_elem = driver.find_element_by_xpath("http://input[@name='Password']") password_elem.clear() password_elem.send_keys(self.password) # 定位登陸按鈕 loadup_button = driver.find_element_by_xpath("http://span[@class='ladda-label']") loadup_button.click() time.sleep() Leslie_ChanId = Loadup("176******","*******") #在此輸入自己的帳號(hào)和密碼 Leslie_ChanId.login()
運(yùn)行程序:
可以看到成功登陸,仔細(xì)看,會(huì)發(fā)現(xiàn)“Chrome正在受自動(dòng)測(cè)試軟件的控制”,說(shuō)明是selenium正在操作瀏覽器。期間,人工也是可以操作瀏覽器的。
后言:
在測(cè)試的過(guò)程中,可能會(huì)出現(xiàn)博客園的滑動(dòng)圖片驗(yàn)證,可能是因?yàn)轭l繁操作引起,以我目前所學(xué)很難實(shí)現(xiàn)自動(dòng)滑正確的圖片,所以需要人為的去滑動(dòng)圖片。
使用driver定位元素的方法不止有xpath,還可以通過(guò)id,name,linkt_text等等
使用selenium進(jìn)入網(wǎng)頁(yè)后,可以做很多操作,是一種更方便于爬取動(dòng)態(tài)網(wǎng)頁(yè)的方法。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python+opencv+selenium自動(dòng)化登錄郵箱并解決滑動(dòng)驗(yàn)證的問(wèn)題
- python爬蟲(chóng)之利用selenium模塊自動(dòng)登錄CSDN
- Selenium+Python 自動(dòng)化操控登錄界面實(shí)例(有簡(jiǎn)單驗(yàn)證碼圖片校驗(yàn))
- selenium+python實(shí)現(xiàn)自動(dòng)化登錄的方法
- Python使用selenium實(shí)現(xiàn)網(wǎng)頁(yè)用戶名 密碼 驗(yàn)證碼自動(dòng)登錄功能
- python內(nèi)置函數(shù)frozenset()的使用小結(jié)
- selenium+python實(shí)現(xiàn)自動(dòng)登錄腳本
- python+selenium實(shí)現(xiàn)登錄賬戶后自動(dòng)點(diǎn)擊的示例
- Python用selenium實(shí)現(xiàn)自動(dòng)登錄和下單的項(xiàng)目實(shí)戰(zhàn)
相關(guān)文章

Python獲取網(wǎng)絡(luò)時(shí)間戳的兩種方法詳解

使用Python、TensorFlow和Keras來(lái)進(jìn)行垃圾分類的操作方法

教你利用python如何讀取txt中的數(shù)據(jù)

通過(guò)代碼簡(jiǎn)單了解django model序列化作用

Python使用jpype模塊調(diào)用jar包過(guò)程解析

Python使用python-docx讀寫(xiě)word文檔