欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python利用Selenium實現(xiàn)網(wǎng)站自動簽到功能

 更新時間:2021年09月15日 09:52:42   作者:朱小五是凹凸君呀  
小編了解到了python的selenium庫對于自動化測試的初學者很容易上手,今天就借這篇文章給大家介紹Python利用Selenium實現(xiàn)網(wǎng)站自動簽到功能,感興趣的朋友一起看看吧

什么是Selenium

先帶領大家學習下Selenium的基本概念吧。

Selenium主要用于web應用程序的自動化測試,但并不局限于此,它還支持所有基于web的管理任務自動化。
它的特點如下:

  • 開源,免費
  • 多瀏覽器支持:Firefox、Chrome、IE等
  • 多平臺支持:Linux、Windows、Mac
  • 多語言支持:Java、Python、Ruby、C#、JavaScript、C++
  • 對web頁面有良好的支持
  • 簡單(API簡單)、靈活(開發(fā)語言驅動)
  • 支持分布式測試用例執(zhí)行

今天是Python改變生活系列的第二篇,也是我真實的問題案例。

前情提要

小五收藏了一些論壇網(wǎng)站,經(jīng)常需要自己登錄簽到,以此來獲得積分金幣等等。

步驟倒是并不復雜,只需要填寫賬號密碼登錄,然后點擊簽到即可。

但天天手動太容易忘了這件事啦。畢竟我們都會用python了,那就可以使用Selenium操作;瀏覽器實現(xiàn)自動簽到??!

現(xiàn)在開始上手工作👉

準備工作

首先我們需要先安裝Selenium,從而實現(xiàn)后續(xù)自動化操控瀏覽器。我們可以利用它來模擬鼠標按鍵,跟按鍵精靈很類似。

pip install selenium

待其安裝完成后,準備另一個必需工具。

selenium可以操控多款瀏覽器,包括谷歌,火狐等,這里小五使用的是谷歌瀏覽器。

這里需要知道瀏覽器的版本信息,只需打開“關于Chrome”,就可以看到了。

如上圖所示,我的瀏覽器版本是89.0.4389.114。然后我們需要前往(http://chromedriver.storage.googleapis.com/index.html)找到與瀏覽器相匹配的版本,沒有一模一樣的選擇最近的版本也可以。

點擊進去選擇對應的系統(tǒng)版本,下載后將chromedriver.exe解壓出來,最后將其放到與python.exe文件相同的路徑下。

如果你是用的anaconda就放在下面目錄下

C:\Users\Administrator\anaconda3

具體位置如下圖所示👇

下面我們就可以正式用python自動簽到了。

代碼及講解

首先打開我要登錄的網(wǎng)站,具體域名就不分享給大家了。

先導入selenium庫,這里只需使用selenium中的webdriver模塊,運行

from selenium import webdriver

打開下載的瀏覽器驅動,設置隱式等待時

wd=webdriver.Chrome()
wd.implicitly_wait(1)

👆執(zhí)行代碼的時候會自行去尋找chromedriver.exe(在python目錄下尋找)。如果我們前面沒有放在固定的路徑下,就需要在這里指定chromedriver.exe路徑。

打開登錄網(wǎng)頁

wd.get('待登錄網(wǎng)站URL')

如上圖所示,模擬瀏覽器已經(jīng)打開了網(wǎng)站的登錄界面。這個時候我們需要定位到輸入框、密碼框以及登錄按鈕等。

這里不用擔心,Selenium提供了很多種定位DOM元素的方法,各有各的特點和優(yōu)勢。

今天就主要使用 by_xpath() 這個方法來定位元素,這個方法比較靈活方便,大部分屬性都可以通過它來定位。

【檢查】→【進入開發(fā)者模式】點擊左上角的圖標,再點擊你要找的對象,即可得到該對象的信息。點位該對象后,右鍵copy它的XPath!

input = wd.find_element_by_xpath('//*[@id="email"]')
input.send_keys('kxpython@163.com')

同理,我們可以定位到密碼框,再send_keys輸入密碼

password = wd.find_element_by_xpath('//*[@id="password"]')
password.send_keys('kxpython')

至于需要點擊的對象,可以使用click()來實現(xiàn)模擬點擊的功能。

點擊登錄

button_login = wd.find_element_by_xpath('//*[@id="app"]/section/div/div/div/div[2]/form/div/div[5]/button')
button_login.click()

點擊跳過彈窗

一般登錄后會有個小彈窗,關閉即可。

wd.find_element_by_xpath('//*[@id="popup-ann-modal"]/div/div/div[3]/button').click()

嘗試簽到

try:
    wd.find_element_by_xpath('//*[@id="checkin-div"]/a').click()
except:
    print("已簽到")

最后要記得關閉瀏覽器窗口

wd.quit()

注:close()關閉當前窗口,wd.quit()則是關閉所有窗口。

點擊運行上面的全部代碼,即可實現(xiàn)python對網(wǎng)站的自動簽到。我們還可以將該python腳本設置為定時任務,這樣就不用每天手動去簽到啦!

小結

作為演示的這個網(wǎng)站非常簡單,如果大家也想用python來自動簽到的話,要根據(jù)自己的網(wǎng)站情況來改寫腳本。

其實 Selenium 更多的用法是自動化測試、爬蟲等,具體Selenium的詳細用法,可以參考文檔。

地址:http://selenium-python.readthedocs.org/

我們學習Python時,可以嘗試用來解決自己的生活問題,這樣學得也更扎實,學得也更有趣味!

到此這篇關于Python利用Selenium實現(xiàn)網(wǎng)站自動簽到功能的文章就介紹到這了,更多相關Python Selenium網(wǎng)站自動簽到內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python?實操顯示數(shù)據(jù)圖表并固定時間長度

    Python?實操顯示數(shù)據(jù)圖表并固定時間長度

    這篇文章主要介紹了Python?實操顯示數(shù)據(jù)圖表并固定時間長度,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 用Python字符畫出了一個谷愛凌

    用Python字符畫出了一個谷愛凌

    之前經(jīng)常在網(wǎng)上看到那種由一個個字符構成的視頻,非常炫酷。本文也將利用Python字符畫一個最近的冬奧冠軍谷愛凌,感興趣的小伙伴可以學習一下
    2022-02-02
  • python tkinter實現(xiàn)彩球碰撞屏保

    python tkinter實現(xiàn)彩球碰撞屏保

    這篇文章主要為大家詳細介紹了python tkinter實現(xiàn)彩球碰撞屏保,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Python使用Traits庫實現(xiàn)對象屬性

    Python使用Traits庫實現(xiàn)對象屬性

    Python作為一種動態(tài)編程語言,它的變量沒有類型,這種靈活性給快速開發(fā)帶來很多便利,不過它也不是沒有缺點,Traits庫的一個很重要的目的就是為了解決這些缺點所帶來的問題,trait為Python對象的屬性增加了類型定義的功能
    2023-11-11
  • python集合類型用法分析

    python集合類型用法分析

    這篇文章主要介紹了python集合類型用法,實例分析了Python中集合的功能及常見使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • Pandas中shift庫的具體使用

    Pandas中shift庫的具體使用

    shift函數(shù)是Pandas庫中用于數(shù)據(jù)位移的函數(shù),常用于時間序列數(shù)據(jù)的處理,本文主要介紹了Pandas中shift庫的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 1秒鐘使用python建立文件服務器的方法步驟

    1秒鐘使用python建立文件服務器的方法步驟

    本文主要介紹了1秒鐘使用python建立文件服務器的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 學習Python能用來做什么的問題

    學習Python能用來做什么的問題

    這篇文章主要介紹了關于Python能用來做什么的問題,如果你想學Python,或者你剛開始學習Python,那么你可能會問:我能用Python做什么?下面就讓我們一起來看看吧
    2023-04-04
  • python繪制BA無標度網(wǎng)絡示例代碼

    python繪制BA無標度網(wǎng)絡示例代碼

    今天小編就為大家分享一篇python繪制BA無標度網(wǎng)絡示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python中import語句用法案例講解

    Python中import語句用法案例講解

    在實際應用中,有時程序所要實現(xiàn)功能比較復雜,代碼量也很大,若把所有的代碼都存儲在一個文件中,則不利于代碼的復用和維護,這篇文章主要介紹了Python中import語句用法詳解,需要的朋友可以參考下
    2022-12-12

最新評論