python中的dom遍歷(python遍曆元素)

本文目錄一覽:

python DOM有什麼用

DOM介紹

(1)什麼是DOM

·DOM:文檔對象模型。DOM 為文檔提供了結構化表示,並定義了如何通過腳本來訪問文檔結構。目的其實就是為了能讓js操作html元素而制定的一個規範。

·DOM就是由節點組成的。

相關推薦:《Python教程》

(2)解析過程

·HTML加載完畢,渲染引擎會在內存中把HTML文檔,生成一個DOM樹,getElementById是獲取內中DOM上的元素節點。然後操作的時候修改的是該元素的屬性。

·DOM樹(一切都是節點)

DOM的數據結構如下:

上圖可知,在HTML當中,一切都是節點:(非常重要)

·元素節點:HMTL標籤。

·文本節點:標籤中的文字(比如標籤之間的空格、換行)

·屬性節點::標籤的屬性。

整個html文檔就是一個文檔節點。所有的節點都是Object。

(3)DOM可以做什麼

·找對象(元素節點)

·設置元素的屬性值

·設置元素的樣式

·動態創建和刪除元素

·事件的觸發響應:事件源、事件、事件的驅動程序

python+selenium怎麼遍歷一個網頁中class相同的值

獲取標籤內容

使用element.attribute()方法獲取dom元素的內容,如:

dr = driver.find_element_by_id(‘tooltip’)

dr.get_attribute(‘data-original-title’) #獲取tooltip的內容

dr.text #獲取該鏈接的text

獲取標籤屬性

link=dr.find_element_by_id(‘tooltip’)

link.value_of_css_property(‘color’) #獲取tooltip的CSS屬性color的屬性值

link.find_element_by_tag_name(‘h3’).value_of_css_property(‘font’) #獲取h3的CSS屬性font的屬性值

獲取標籤狀態

是否顯示:使用element.is_displayed()方法

是否存在:使用find_element_by_xxx()方法,捕獲其拋出的異常, 如果存在異常的話則可以確定該元素不存在

text_field=dr.find_element_by_name(‘user’).is_enabled()

#直接用element.is_enabled()方法判斷button,返回值為true,因為button是使用CSS方法判斷是否有效這並不是真正的方法,需要判斷其class中是否有值為disabled來判斷是否真正處於disabled的狀態

dr.find_element_by_class_name(‘btn’).is_enabled()

是否被選中:一般判斷表單元素,如radio或checkbox是否被選中,使用element.is_selected()方法

radio.is_selected() #判斷是否被選中

try:

dr.find_element_by_id(‘none’)

except:

print ‘element does not exist’

是否有效:即是否為灰化狀態,使用element.is_enabled()狀態

print text_field.is_displayed() #判斷是否顯示

Python中如何遍歷指定目錄下的所有文件?

例如:在C:\TDDOWNLOAD目錄下有a.txt、b.txt兩個文件,另有\sub1子文件夾,C:\TDDOWNLOAD\sub1下又有c.txt、d.txt兩個文件。

1. os.walk

os.walk()返回一個三元素的tuple:當前路徑、子文件夾名稱、文件列表。

import os

def fun( path ):

… for root, dirs, files in os.walk( path ):

… for fn in files:

… print root, fn

fun( r’C:\TDDOWNLOAD’ )

C:\TDDOWNLOAD a.txt

C:\TDDOWNLOAD b.txt

C:\TDDOWNLOAD\sub1 c.txt

C:\TDDOWNLOAD\sub1 d.txt

2. glob.glob

glob.glob()只接受一個參數,這個參數既代有路徑,又代有匹配模式,返回值為一個列表。注意,glob.glob()無法直接穿透子文件夾,需要自己處理:

def fun( path ):

… for fn in glob.glob( path + os.sep + ‘*’ ): # ‘*’代表匹配所有文件

… if os.path.isdir( fn ): # 如果結果為文件夾

… fun( fn ) # 遞歸

… else:

… print fn

fun( r’C:\TDDOWNLOAD’ )

C:\TDDOWNLOAD\a.txt

C:\TDDOWNLOAD\b.txt

C:\TDDOWNLOAD\sub1\c.txt

C:\TDDOWNLOAD\sub1\d.txt

‘*’為匹配模式,代表匹配所有文件,只有這樣才能將子文件夾查出來,以便遞歸深入,探查下一層的文件。

原創文章,作者:VWXB9,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127788.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VWXB9的頭像VWXB9
上一篇 2024-10-03 23:16
下一篇 2024-10-03 23:16

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python for循環求1到100的積

    Python中的for循環可以方便地遍歷列表、元組、字典等數據類型。本文將以Python for循環求1到100的積為中心,從多個方面進行詳細闡述。 一、for循環語法 Pytho…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python編程二級證書考試相關現已可以上網購買

    計算機二級Python考試是一項重要的國家級認證考試,也是Python編程的入門考試。與其他考試一樣,Python編程二級證書的考生需要進入正式考試,而為了備考,這篇文章將詳細介紹…

    編程 2025-04-29

發表回復

登錄後才能評論