计算在 selenium python 中找到的元素数量

Count the number of elements found in selenium python

我有以下 html 页面,我试图在其中找到单词 silver 并计算找到的数量。

这里只显示了两个,但它可以生成更多,所以我不知道确切的数量。

<tr id="au_4" class="odd">
<td>Silver</td>
</tr>
<tr id="au_4" class="even">
<td>Silver</td>
</tr>

这是我试过但没有成功的方法:

count =  driver.find_elements_by_xpath("//td[text()='Silver']")

count 是找到的所有元素的 列表 。为了找到它的长度,你应该:

len(count)

我强烈建议您通读 docs 以更好地了解 Selenium 的工作原理。

通过 execute_script 检索计数然后从 find_elements_by 方法调用的结果中获取 len 会更快:

script = "return $(\"td:contains('{}')\").length".format(text="Silver")
count = driver.execute_script(script)

上面的示例适合您如果您使用 jQuery,可以在 How to get element by innerText SO 问题中找到另一种通过文本值检索元素的方法 ...