我必须处理这样一个表:
<table id="product">
<tr>
<td data-sortable-id="ax01">Axe</td>
<td>Wood</td>
<td>Red</td>
</tr>
<tr>
<td data-sortable-id="ha01">Hammer</td>
<td>Iron</td>
<td>Black</td>
</tr>
<tr>
<td data-sortable-id="na01">Nail</td>
<td>Metal</td>
<td>Black</td>
</tr>
<tr>
<td colspan="3">3 Products Listed</td>
</tr>
</table>
如何选择具有td
属性的所有data-sortable-id
元素?我在谷歌搜索中找不到任何关于按属性查找元素的内容(没有值,属性只有属性)。
我尝试过像
这样的东西x = webdriver.find_elements_by_xpath("//td[@data-sortable-id]")
print(len(x))
但结果是0。
答案 0 :(得分:0)
要查找具有 data-sortable-id 属性的所有<td>
代码,您可以使用以下粒度xpath
:
"//table[@id='product']/tr//td[@data-sortable-id]"
也许您需要将WebDriverWait与expected_conditions子句一起引导为visibility_of_all_elements_located,如下所示:
x = WebDriverWait(webdriver, 30).until(EC.visibility_of_all_elements_located((By.XPATH, "//table[@id='product']//tr//td[@data-sortable-id]")))
print(len(x))