gpt4 book ai didi

python - 在 python 中使用 selenium 从其特定的 td 标签中找出 tr 标签的索引

转载 作者:太空宇宙 更新时间:2023-11-04 00:09:27 28 4
gpt4 key购买 nike

我有一个动态表,所以我不知道它会有多少 tr。这是抽象代码:

<table id='detail'>
<tbody>
<tr>
<td class='multi_row'>Outbound Rail Unloading</td>
<td class='multi_row'>MONTREAL, QC ,CANADA</td>
<td class='ico_a'>2018</td>
</tr>
<tr>
<td class='multi_row'>some text</td>
<td class='multi_row'>some another text</td>
<td class='ico_a'>2018</td>
<tr>
<td class='multi_row'>some text</td>
<td class='multi_row'>some another text</td>
<td class='i_e'>2019</td>
</tr>
</tbody>
</table>

所以我想要最后一个 ico_a 的索引(列表中的最后一个 ico_a 显示产品的位置,这就是我需要它的原因),在这个例子中是 1(它必须从 0 开始计数)。因为我需要同一张表中的一些其他数据,所以我宁愿使用一个解决方案来获取整个表并进行迭代,同时我得到一些这样的数据:

event_path = driver.find_elements_by_xpath("//table[@id='detail']//tr/td[2]")
event = [driver.execute_script('return arguments[0].firstChild.textContent;', cell).strip() for cell in event_path]

place_path = driver.find_elements_by_xpath("//table[@id='detail']//tr//td[3]")
place = [driver.execute_script('return arguments[0].firstChild.textContent;', cell).strip() for cell in place_path]

如果您有更好的解决方案来解析此表中的数据,我将不胜感激。

最佳答案

要在所有 tr 标签中获取所有带有 ico_a 类的 td[3],

element= driver.find_elements_by_xpath("//table//td[3][@class='ico_a']")
elementvalues = [element.text for element in elements]

要用 ico_a 类获取最后一个 td 的 tr 索引,

cell=driver.find_element_by_xpath("(//table//td[@class='ico_a'])[last()]/parent::tr")
driver.execute_script('return arguments[0].rowIndex;', cell)
# 1

这里索引从0开始

要使用 ico_a 类获取最后的 td,

driver.find_element_by_xpath("(//table//td[@class='ico_a'])[last()]").text
# 2018

要获取包含 ico_a 类的最后一个 td 的行的 td[2] 值,

driver.find_element_by_xpath("(//table//td[@class='ico_a'])[last()]/preceding-sibling::td[1]")).text
# some another text

要获取包含 ico_a 类的最后一个 td 的行的 td[1] 值,

driver.find_element_by_xpath("(//table//td[@class='ico_a'])[last()]/preceding-sibling::td[1]")).text
# some another text

关于python - 在 python 中使用 selenium 从其特定的 td 标签中找出 tr 标签的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53020414/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com