计算在 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 问题中找到另一种通过文本值检索元素的方法 ...
我有以下 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 问题中找到另一种通过文本值检索元素的方法 ...