如何<a>从具体列中获取带有标签的链接元素<td>?



我对python和selenium库不太熟悉,所以我在处理看似简单的任务时遇到了问题。所以,我知道如何从一个表中获取所有链接:

elems = driver.find_elements_by_css_selector (". <table class> [href]")

但我不需要所有的链接,只需要那些满足特定条件的链接,所以我组织for循环,首先找到所有的表行:

rows = table.find_elements (By.TAG_NAME, "tr")
for row in rows:

表中的每一行看起来都是这样的:

<tr>
<td> ... </td>
<td> ... </td>
...
<td> <a href= "..."> </a> </td>
<td> ... </td>
...
</tr>

如果我以这种方式找到合适的列

href_data = row.find_elements (By.TAG_NAME, "td")[Nr]

然后尝试获取带有标签的链接元素:

href_link = href_data.find_elements (By.TAG_NAME, "a")

那么由于的进一步输出,显然返回了一个空对象

print (href_link.get_attribute ("href"))

总是会产生错误。我做错了什么?

如果行中只有CCD_ 1元素,则是那些包含CCD_,提取行之后

rows = table.find_elements (By.TAG_NAME, "tr")
for row in rows:

您应该使用直接提取href_links

href_link = row.find_elements(By.TAG_NAME, "a")

所以现在你可以了

print (href_link.get_attribute ("href"))

所以整个代码应该是:

rows = table.find_elements (By.TAG_NAME, "tr")
for row in rows:
href_link = row.find_element(By.TAG_NAME, "a")
print (href_link.get_attribute ("href"))

相关内容

  • 没有找到相关文章

最新更新