python selenium 自動化測試實現遍歷博客裏面的所有文章

#!/usr/bin/env python3
import time

from selenium import webdriver


def end_page(next_page):
    """
    判斷是否到了最後一頁
    :param next_page:
    :return:
    """
    if "ui-pager-disabled" in next_page.get_attribute("class"):
        return True
    else:
        return False


def access_page(els):
    """
    遍歷打開鏈接
    :param els:
    :return:
    """
    for element in els:
        if '' != element.text:
            print('要訪問的頁面 ' + element.text + '\t' + element.get_attribute("href"))
            element.click()
            # time.sleep(1)


driver = webdriver.Chrome()  # 創建Chrome對象
driver.maximize_window()
driver.get('https://blog.csdn.net/frankcheng5143')
time.sleep(2)
# 下一頁
next_page = driver.find_element_by_css_selector('.ui-paging-container > ul > li.js-page-next.js-page-action.ui-pager')
# 所有的a標籤
links = driver.find_elements_by_css_selector("#mainBox > main > div.article-list > div > h4 > a")
access_page(links)
# 這裏適合用do while,沒找到python怎麼弄,就先調用一下,再while
while bool(1 - end_page(next_page)):
    next_page = driver.find_element_by_css_selector(
        '.ui-paging-container > ul > li.js-page-next.js-page-action.ui-pager')
    next_page.click()
    next_page = driver.find_element_by_css_selector(
        '.ui-paging-container > ul > li.js-page-next.js-page-action.ui-pager')

    links = driver.find_elements_by_css_selector("#mainBox > main > div.article-list > div > h4 > a")
    access_page(links)

driver.quit()  # 關閉瀏覽器


最近學習了一下python+selenium框架,寫了一個helloword,記錄一下,遍歷一遍自己的博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章