selenium + python 獲取table數(shù)據(jù)的示例講解
方法一:
<code class="language-python">"""
根據(jù)table的id屬性和table中的某一個(gè)元素定位其在table中的位置
table包括表頭,位置坐標(biāo)都是從1開(kāi)始算
tableId:table的id屬性
queryContent:需要確定位置的內(nèi)容
"""
def get_table_content(tableId,queryContent):
arr = []
arr1 = []
table_loc = (By.ID,tableId)
# 按行查詢(xún)表格的數(shù)據(jù),取出的數(shù)據(jù)是一整行,按空格分隔每一列的數(shù)據(jù)
table_tr_list = driver.find_element(*table_loc).find_elements(By.TAG_NAME, "tr")
for tr in table_tr_list:
arr1 = (tr.text).split(" ") #以空格拆分成若干個(gè)(個(gè)數(shù)與列的個(gè)數(shù)相同)一維列表
# print(tr.text)
# print(arr1)
arr.append(arr1) #將表格數(shù)據(jù)組成二維的列表
#循環(huán)遍歷table數(shù)據(jù),確定查詢(xún)數(shù)據(jù)的位置
for i in range(len(arr)):
for j in range(len(arr[i])):
if queryContent== arr[i][j]:
print("%r坐標(biāo)為(%r,%r)" %(queryContent,i+1,j+1))
get_table_content("myTable","第二行第二列")</code>
方法二:
"""
根據(jù)table的id屬性和table中的某一個(gè)元素定位其在table中的位置
table包括表頭,位置坐標(biāo)都是從1開(kāi)始算
tableId:table的id屬性
queryContent:需要確定位置的內(nèi)容
"""
def get_table_content(tableId,queryContent):
# 按行查詢(xún)表格的數(shù)據(jù),取出的數(shù)據(jù)是一整行,按空格分隔每一列的數(shù)據(jù)
table_tr_list = driver.find_element(By.ID, tableId).find_elements(By.TAG_NAME, "tr")
table_list = [] #存放table數(shù)據(jù)
for tr in table_tr_list: #遍歷每一個(gè)tr
#將每一個(gè)tr的數(shù)據(jù)根據(jù)td查詢(xún)出來(lái),返回結(jié)果為list對(duì)象
table_td_list = tr.find_elements(By.TAG_NAME, "td")
row_list = []
print(table_td_list)
for td in table_td_list: #遍歷每一個(gè)td
row_list.append(td.text) #取出表格的數(shù)據(jù),并放入行列表里
table_list.append(row_list)
# 循環(huán)遍歷table數(shù)據(jù),確定查詢(xún)數(shù)據(jù)的位置
for i in range(len(table_list)):
for j in range(len(table_list[i])):
if queryContent== table_list[i][j]:
print("%r坐標(biāo)為(%r,%r)" %(queryContent,i+1,j+1))
get_table_content("myTable","第二行第二列")
方法三:
"""
根據(jù)CSS選擇器和table中的某一個(gè)元素定位其在table中的位置
table包括表頭,位置坐標(biāo)都是從1開(kāi)始算
cssSelector:table的CSS選擇器屬性
queryContent:需要確定位置的內(nèi)容
"""
def get_table_content(cssSelector,queryContent):
locator = cssSelector + ">tbody>tr"
table_list = []
table_tr_list = driver.find_elements(By.CSS_SELECTOR, locator)[1:] #去掉表頭
for tr in table_tr_list:
row_list = []
table_td_list = tr.find_elements(By.TAG_NAME,"td")
for td in table_td_list:
row_list.append(td.text)
table_list.append(row_list)
for i in range(len(table_list)):
for j in range(len(table_list[i])):
if queryContent== table_list[i][j]:
print("%r坐標(biāo)為(%r,%r)" %(queryContent,i+1,j+1))
get_table_content("#myTable","第二行第二列")
以上這篇selenium + python 獲取table數(shù)據(jù)的示例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python PrettyTable模塊的安裝與簡(jiǎn)單應(yīng)用
- Python批量刪除只保留最近幾天table的代碼實(shí)例
- Python 提取dict轉(zhuǎn)換為xml/json/table并輸出的實(shí)現(xiàn)代碼
- Python實(shí)現(xiàn)批量讀取word中表格信息的方法
- 詳解python中xlrd包的安裝與處理Excel表格
- Python實(shí)現(xiàn)簡(jiǎn)單HTML表格解析的方法
- Python將多個(gè)excel表格合并為一個(gè)表格
- python Pandas 讀取txt表格的實(shí)例
- Python實(shí)用庫(kù) PrettyTable 學(xué)習(xí)筆記
相關(guān)文章
Python通過(guò)90行代碼搭建一個(gè)音樂(lè)搜索工具
這篇文章主要介紹了Python通過(guò)90行代碼搭建一個(gè)音樂(lè)搜索工具,需要的朋友可以參考下2015-07-07
python3?chromedrivers簽到的簡(jiǎn)單實(shí)現(xiàn)
本文主要介紹了python3?chromedrivers簽到的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
python繪制箱線(xiàn)圖boxplot()的教程詳解
本文主要介紹了python如何繪制箱線(xiàn)圖boxplot()的方法教程,文中有詳細(xì)的代碼示例和圖文講解,需要的朋友可以參考下2023-05-05
Python實(shí)現(xiàn)抓取網(wǎng)頁(yè)生成Excel文件的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)抓取網(wǎng)頁(yè)生成Excel文件的方法,涉及PyQuery模塊的使用及Excel文件相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
使用PySpark實(shí)現(xiàn)數(shù)據(jù)清洗與JSON格式轉(zhuǎn)換的實(shí)踐詳解
在大數(shù)據(jù)處理中,PySpark?提供了強(qiáng)大的工具來(lái)處理海量數(shù)據(jù),特別是在數(shù)據(jù)清洗和轉(zhuǎn)換方面,本文將介紹如何使用?PySpark?進(jìn)行數(shù)據(jù)清洗,并將數(shù)據(jù)格式轉(zhuǎn)換為?JSON?格式的實(shí)踐,感興趣的可以了解下2023-12-12
選擇Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)勢(shì)和理由
在本篇文章里小編給各位整理了一篇關(guān)于選擇Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)勢(shì)和理由以及相關(guān)代碼實(shí)例,有興趣的朋友們閱讀下吧。2019-07-07
分享8點(diǎn)超級(jí)有用的Python編程建議(推薦)
這篇文章主要介紹了分享8點(diǎn)超級(jí)有用的Python編程建議(推薦),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
Python調(diào)用百度api實(shí)現(xiàn)語(yǔ)音識(shí)別詳解
這篇文章主要介紹了Python通過(guò)調(diào)用百度api實(shí)現(xiàn)語(yǔ)音識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2021-12-12

