我想用硒从动态表中获取一些td数据并将其推入数组。我尝试使用:
driver.find_elements_by_class_name("row_data")
并获取html,然后找到td,但list元素无法获取属性innerHTML ...
<tr class="row_data text-silver">
<td class="link">
<a href="/Account/UserCompleteRegister" data-toggle="tooltip" data-placement="left" title="ویرایش" class="btn btn-info btn-xs btnEditUser">
<i class="fa fa-edit"></i>
</a>
مرضیه<input type="hidden" value="1332162477" class="userId">
</td>
<td class="text-right">
ایرج ساعی
</td>
<td class="text-right">
6180033005
</td>
<td class="text-right">
</td>
<td class="text-right">
25 سال و 2 روز
</td>
<td class="text-right">
<span class="GenderText">زن</span>
</td>
</tr>
如果页面上有单个表,并且您想使用xpath,请参考以下解决方案:
1. //table//td[*]
2. //table//tr//td[*]
或提供特定的表格ID以处理您的表格
有关您正在寻找的数据的更多信息,将有助于我们以规范的方式构建答案。但是,由于<tr>
节点的class属性包含row_data和text-silver,您需要为visibility_of_element_located()
引入WebDriverWait,并且您可以使用跟随Locator Strategies:
使用CSS_SELECTOR
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "tr.row_data.text-silver))).text)
使用XPATH
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//tr[@class='row_data text-silver']"))).text)
Note:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC