使用Python在自己博客上進行自動翻頁


先上一張代碼及代碼運行后的輸出結果的圖!

下面上代碼:

# coding=utf-8  
import os
import time
from selenium import webdriver

#打開火狐瀏覽器 需要V47版本以上的
driver = webdriver.Firefox()#打開火狐瀏覽器
url = "http://codelife.ecit-it.com"#這里打開我的博客網站
driver.get(url)#設置火狐瀏覽器打開的網址
time.sleep(2)

#使用xpath進行多路徑或多元素定位,用法看官網http://selenium-python.readthedocs.io/locating-elements.html
elem_dh = driver.find_elements_by_xpath("//div[@class='pagination pagination-large']/ul/li/a")
print ("我是剛獲取的翻頁按鈕的路徑數組:",elem_dh)
print ("下一頁按鈕元素:",elem_dh[2])
time.sleep(5)

#獲取當前窗口句柄
now_handle = driver.current_window_handle #獲取當前窗口句柄
print ("我是當前窗口的句柄:",now_handle)#打印窗口句柄  是一串數字
time.sleep(10)

#循環獲取界面
for elem in elem_dh:
    print ("我是翻頁按鈕上的文本信息:",elem.text)                    #獲取元素的文本值
    print ("我是翻頁按鈕的地址",elem.get_attribute('href'))   #獲取元素的href屬性值
    elem.click()#點擊進入新的界面 _blank彈出
    print ("剛翻頁完成了!")

time.sleep(20)

代碼為了讓大家能看清楚是怎么回事,代碼我已經加了注解。

運行上面的代碼后執行的結果如下:

>>> 我是剛獲取的翻頁按鈕的路徑數組: [<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="b4375c0c-a3b7-42b9-aa73-ed513699718e", element="782b0162-44eb-4710-bbeb-fc4402ec7cdc")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="b4375c0c-a3b7-42b9-aa73-ed513699718e", element="40e0eede-4ecb-4d95-850f-aa3e6b18e360")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="b4375c0c-a3b7-42b9-aa73-ed513699718e", element="2665129e-ce82-4018-bfe4-a8a6ac300a19")>]
我是當前窗口的句柄: 2147483652
我是翻頁按鈕上的文本信息: « 上一頁
我是翻頁按鈕的地址 None
剛翻頁完成了!
我是翻頁按鈕上的文本信息: 2
我是翻頁按鈕的地址 http://codelife.ecit-it.com/page2
剛翻頁完成了!
我是翻頁按鈕上的文本信息: 下一頁 »
我是翻頁按鈕的地址 http://codelife.ecit-it.com/page2
剛翻頁完成了!

很多同學會問運行中是個什么情況,給大家上幾張圖片:

上圖是自動在地址欄輸入http:codelife.ecit-it.com,並加載博客站點。

默認加載的是博客第一頁的內容哦。

經過等待,等待的過程中千萬別走神,否則會錯過了哦!上圖已經點擊了,還好我眼疾手快截到圖了。

點擊完第二頁后就跳轉到第二頁去了。

觀察仔細的同學會發現,我后面有一行代碼是后來加上去的。

print ("下一頁按鈕元素:",elem_dh[2])

加入上面一行代碼將可以打印出博客上的”下一頁“按鈕元素的定位數據。

我們可以看到,下一頁的元素信息打印出來了。如果有同學需要只點擊”下一頁“按鈕進行翻頁的話,可以用到這個元素數組。

關於元素的定位官網有詳細的用法,在此不詳細介紹,自備樓梯http://selenium-python.readthedocs.io/locating-elements.html

 

當然,開發環境大家一寫要安裝完好,安裝的插件比較多,如果上面代碼大家進行出錯的話,說明大家的開發環境有問題,或是少插件,或是版本號與插件不對應。

本人電腦上的Python版本是3.6.2,安裝的pywin32也是3.6版本的。

今天就寫到這了,后面再繼續跟大家分享,一起進步。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM