<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    Python改變生活 | 利用Selenium實現網站自動簽到

    共 2233字,需瀏覽 5分鐘

     ·

    2021-05-20 17:21

    作者:朱小五
    來源:快學Python


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

    前情提要

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

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

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

    現在開始上手工作??

    準備工作

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

    pip install selenium

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

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

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

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

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

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

    C:\Users\Administrator\anaconda3

    具體位置如下圖所示??

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

    代碼及講解

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

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

    from selenium import webdriver

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

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

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

    打開登錄網頁

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

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

    這里不用擔心,Selenium提供了很多種定位DOM元素的方法,各有各的特點和優(yōu)勢。今天就主要使用 by_xpath() 這個方法來定位元素,這個方法比較靈活方便,大部分屬性都可以通過它來定位。

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

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

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

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

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

    點擊登錄

    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()則是關閉所有窗口。

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

    小結

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

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

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

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

    -end-

    瀏覽 51
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    人妻av电影| 国产精品久久久久久久久久王安宇 | 日韩小视频在线观看 | 色色一区二区 | 欧美性猛交XXX 乱大交3 欧美一級黃色A片免費看野花 |