selenium + python 獲取table數(shù)據(jù)的示例講解
更新時間:2018年10月13日 10:35:24 作者:hh-glimmer
今天小編就為大家分享一篇selenium + python 獲取table數(shù)據(jù)的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
方法一:
<code class="language-python">"""
根據(jù)table的id屬性和table中的某一個元素定位其在table中的位置
table包括表頭,位置坐標都是從1開始算
tableId:table的id屬性
queryContent:需要確定位置的內(nèi)容
"""
def get_table_content(tableId,queryContent):
arr = []
arr1 = []
table_loc = (By.ID,tableId)
# 按行查詢表格的數(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(" ") #以空格拆分成若干個(個數(shù)與列的個數(shù)相同)一維列表
# print(tr.text)
# print(arr1)
arr.append(arr1) #將表格數(shù)據(jù)組成二維的列表
#循環(huán)遍歷table數(shù)據(jù),確定查詢數(shù)據(jù)的位置
for i in range(len(arr)):
for j in range(len(arr[i])):
if queryContent== arr[i][j]:
print("%r坐標為(%r,%r)" %(queryContent,i+1,j+1))
get_table_content("myTable","第二行第二列")</code>
方法二:
"""
根據(jù)table的id屬性和table中的某一個元素定位其在table中的位置
table包括表頭,位置坐標都是從1開始算
tableId:table的id屬性
queryContent:需要確定位置的內(nèi)容
"""
def get_table_content(tableId,queryContent):
# 按行查詢表格的數(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: #遍歷每一個tr
#將每一個tr的數(shù)據(jù)根據(jù)td查詢出來,返回結(jié)果為list對象
table_td_list = tr.find_elements(By.TAG_NAME, "td")
row_list = []
print(table_td_list)
for td in table_td_list: #遍歷每一個td
row_list.append(td.text) #取出表格的數(shù)據(jù),并放入行列表里
table_list.append(row_list)
# 循環(huán)遍歷table數(shù)據(jù),確定查詢數(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坐標為(%r,%r)" %(queryContent,i+1,j+1))
get_table_content("myTable","第二行第二列")
方法三:
"""
根據(jù)CSS選擇器和table中的某一個元素定位其在table中的位置
table包括表頭,位置坐標都是從1開始算
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坐標為(%r,%r)" %(queryContent,i+1,j+1))
get_table_content("#myTable","第二行第二列")
以上這篇selenium + python 獲取table數(shù)據(jù)的示例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python中time tzset()函數(shù)實例用法
在本篇文章里小編給大家整理的是一篇關(guān)于python中time tzset()函數(shù)實例用法內(nèi)容,有興趣的朋友們可以學習下。2021-02-02
使用PyQt5設(shè)計GUI實現(xiàn)程序圖形界面設(shè)計
當我們學會如何在pycharm中配置pyqt5設(shè)計GU之后,那么本文來帶你熟悉PyQt5設(shè)計GUI流程并為程序設(shè)計圖形界面,設(shè)計一個屬于自己的GUI2021-08-08
解決Python中回文數(shù)和質(zhì)數(shù)的問題
今天小編就為大家分享一篇解決Python中回文數(shù)和質(zhì)數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python結(jié)合shell自動創(chuàng)建kafka的連接器實戰(zhàn)教程
這篇文章主要介紹了python結(jié)合shell自動創(chuàng)建kafka的連接器,需要安裝連接oracle的python包,獲取oracle表信息,本文給大家介紹的非常詳細,需要的朋友可以參考下2022-04-04
pyecharts繪制各種數(shù)據(jù)可視化圖表案例附效果+代碼
這篇文章主要介紹了pyecharts繪制各種數(shù)據(jù)可視化圖表案例并附效果和代碼,文章圍繞主題展開詳細的內(nèi)容介紹,感興趣的小伙伴可以參考一下2022-06-06
tensorflow中tf.reduce_mean函數(shù)的使用
這篇文章主要介紹了tensorflow中tf.reduce_mean函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04

