如何獲得特定列的位置對網頁進行查找表上存在元素,如何讓目前的行數表如何使用硒
<TR>
<TD>Table Data</TD>
<TD>More Table Data</TD>
</TR>
<TD>More Table Data</TD>
<TD>Table Data</TD>
</TR>
上述考慮作爲一個表結構
如何獲得特定列的位置對網頁進行查找表上存在元素,如何讓目前的行數表如何使用硒
<TR>
<TD>Table Data</TD>
<TD>More Table Data</TD>
</TR>
<TD>More Table Data</TD>
<TD>Table Data</TD>
</TR>
上述考慮作爲一個表結構
在HTML代碼段的表,你可以看到,表主要由兩個標籤組成。 TR and TD。
TR表示在表和TD行表示表列中。
下面是簡單的代碼片段,它顯示瞭如何找到表中存在的行數和列數。
int Row_count = driver.findElements(By.xpath("/table/tbody/tr")).size();
System.out.println("Number Of Rows = "+Row_count);
注:Xpath的總會有所不同,但標籤/臺/ TBODY/仍將在大多數情況下一樣。
int Col_count = driver.findElements(By.xpath("/table/tbody/tr[1]/td")).size();
System.out.println("Number Of Columns = "+Col_count);
**注意:*** tr [1]/td *選擇表中的第一行,並給出該表中的所有列。
以同樣的方式,您可以通過更改Xpath邏輯來輕鬆獲取Web表中存在的任何Web元素。
請提及Downvote的原因。 –
是有沒有可以用來識別表格的屬性?還是會需要表格元素的索引?你能提供示例url/html嗎?
from bs4 import BeautifulSoup
soup = BeautifulSoup(page)
table = soup.find("table", { "class" : class_name })
print len(table.findAll("tr"))
我通常發現使用beautifulsoup /大熊貓爲這些類型的問題dataframes容易..例如使用維基百科如下:
import pandas as pd
from bs4 import BeautifulSoup
import urllib2
car_data = pd.DataFrame()
model = 'Tesla_Model_S'
wiki = "https://en.wikipedia.org/wiki/{0}".format(model)
header = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(wiki,headers=header)
page = urllib2.urlopen(req)
soup = BeautifulSoup(page)
table = soup.find("table", { "class" : "infobox hproduct" })
for row in table.findAll("tr")[2:]:
try:
field = row.findAll("th")[0].text.strip()
val = row.findAll("td")[0].text.strip()
car_data.set_value(model,field,val)
except:
pass
print car_data
歡迎來到SO!在發佈問題時,添加與您的問題相關的代碼或您想要實現的目標。它可以幫助其他人找到解決問題的辦法。 – Lauromine