python - 如何获取具有两个类名的表中元素的数量?
问题描述
我需要从表中获取 tds 和 trs 的 len,我使用的是 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 stats
我目前正在下面使用这种方法/
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
解决方案
要获得<tr>
s 的计数,您可以使用:
选择器:
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>
要从第一个获取s的计数,<tr>
您可以使用:
选择器:
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))
推荐阅读
- python - pandas plot with twiny top xticks 锚调整
- python - 在 matplotlib 中的图形 2D 线上绘制 2D 线
- javascript - 在 Web iframe 窗口中访问 TS 命名空间
- c# - 使愤怒的小鸟在统一上看起来很像。发现了一个错误,仍然无法修复它
- spring - 无法从配置服务器获取属性值
- python - 特定字头 qtableWidget 中的富文本
- python - Python 3 - 从字典对绘制 mapplotlib 图
- maven - Maven surefire 插件即使在 IntelliJ 中未使用也会引发错误
- java - Webflux ReadTimeoutHandler 返回带有空消息的 io.netty.handler.timeout.ReadTimeoutException
- jenkins - 如何在 Kubernetes 中检查失败的容器日志