我需要从表中获取len的tds和trs,我使用的是xpath,但是每当我运行代码时,我得到的值就与正确的值完全不同;
该表遵循以下方案:
<table class="kktable stats">
<tbody>
<tr>
<td></td>
...
</tr>
我当前的尝试:
tr_ = driver.find_elements_by_xpath('//table/tbody/tr')
tds_ = driver.find_elements_by_xpath('//table//tbody//tr[1]//td')
print(len(tr_), len(tds_))
¡¡这应该输出34、13,但输出43、35,我需要非绝对值,因为页面每天都在变化!
表的类别是kktable统计信息
我目前在下面使用此方法/
table = '/html/body/div[4]/div[2]/div[6]/div[3]/div/div/div/div[3]/div/table/tbody'
trs = driver.find_elements_by_xpath(table+"/tr")
tds = driver.find_elements_by_xpath(table+"/tr[1]/td")
这是正确输出=> 34,13
我也尝试过:
tds_ = driver.find_elements_by_xpath('//table[@class="kktable.stats"]//tbody//tr[1]//td')
但不幸的是,它返回了0
答案 0 :(得分:1)
要获取<tr>
的数量,可以使用:
CssSelector :
trs = driver.find_elements_by_css_selector("table.kktable.stats > tbody tr")
print(len(trs))
XPath :
trs = driver.find_elements_by_xpath("//table[@class='kktable stats']/tbody//tr")
print(len(trs))
要获取前<td>
个<tr>
的数量,您可以使用:
CssSelector :
trs = driver.find_elements_by_css_selector("table.kktable.stats > tbody > tr td")
print(len(tds))
XPath :
tds = driver.find_elements_by_xpath("//table[@class='kktable stats']/tbody/tr//td")
print(len(tds))