我正在尝试使用硒精计算表中的行数。我目前的意思是
table = self.driver.find_element_by_xpath('//*[@id="id"]')
print(len(table.find_elements_by_tag_name('tr')))
在下表上
<table class="grid" id="id">
<tbody>
<tr class="header-row"> </tr>
<tr>
<td class="tdclass"> </td>
<td> </td>
<td> </td>
</tr>
<tr class="alt">
<td class="tdclass"> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="tdclass"> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</tbody>
</table>
直接访问tbody [如果有帮助]是
/html/body/form/div[4]/div[2]/div[3]/div/div/div/div[2]/div/table/tbody
我运行以下代码的输出如下
>>> print(len(table.find_elements_by_tag_name('tr')))
28
我的预期输出是
>>> print(len(table.find_elements_by_tag_name('tr')))
4
现在,我发现奇怪的是,print(len(table.find_elements_by_tag_name('tr')))
每次返回28。无论我添加还是删除表行,总是会返回28。
我以为我只是很傻,实际上解决方案就在我眼前,但我只是看不到。
由于我要处理的网页使用AJAX,因此我需要调用time.sleep(x)。
见下文
>>> self.driver.find_element_by_name(x).send_keys(xkeys)
>>> self.driver.find_element_by_name(y).click()
>>> time.sleep(5)
>>> table = self.driver.find_element_by_xpath('//*[@id="id"]')
>>> print(len(table.find_elements_by_tag_name('tr')))
返回4。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句