Python Selenium Webdriver-在表中查找元素集
我正在尝试使用python selenium提取网页中的链接列表。页面上的所有链接的源代码格式如下:Python Selenium Webdriver-在表中查找元素集,python,html,selenium,Python,Html,Selenium,我正在尝试使用python selenium提取网页中的链接列表。页面上的所有链接的源代码格式如下: <a href = "link"></a> 问题是我只需要一组特定的链接,所有这些链接都在一个表中。上面的代码提供了页面上的所有链接,甚至是表外的链接。页面源的大纲如下所示: <html> ... ... <frame name = "frame"> <a href = "unwantedLink"&
<a href = "link"></a>
问题是我只需要一组特定的链接,所有这些链接都在一个表中。上面的代码提供了页面上的所有链接,甚至是表外的链接。页面源的大纲如下所示:
<html>
...
...
<frame name = "frame">
<a href = "unwantedLink">
<form name = "form">
<table name = "table">
<a href = "link1">
<a href = "link2">
<a href = "link3">
</table>
</form>
</frame>
...
</html>
...
...
...
我需要link1
、link2
和link3
,但不需要unwantedLink
。所需链接和不需要的链接都在同一帧中,因此切换帧将不起作用。是否有办法在表中查找标记名a
,但不在父帧中
谢谢这应该会给你想要的:
driver.find_elements_by_css_selector("table[name='table'] a")
table[name='table']
位仅选择属性name
设置为“table”
的表。然后选择器获取作为表的后代的所有a
元素。因此,无论a
元素是否是表
元素的子元素,或者它们是否出现在td
元素中,都无关紧要
请注意,如果有多个表的name
属性设置为值“table”
,您将获得比实际查找的元素更多的元素。(不能保证名称
属性的唯一性。)
driver.find_elements_by_css_selector("table[name='table'] a")