我有以下 HTML 页面。我想获取特定 div 中的所有链接。这是我的 HTML 代码:
<div class="rec_view">
<a href='www.xyz.com/firstlink.html'>
<img src='imga.png'>
</a>
<a href='www.xyz.com/seclink.html'>
<img src='imgb.png'>
</a>
<a href='www.xyz.com/thrdlink.html'>
<img src='imgc.png'>
</a>
</div>
我想获取 rec_view div 上的所有链接。所以我想要的那些链接是,
www.xyz.com/firstlink.html
www.xyz.com/seclink.html
www.xyz.com/thrdlink.html
这是我尝试过的 Python 代码
from selenium import webdriver;
webpage = r"https://www.testurl.com/page/123/"
driver = webdriver.Chrome("C:\chromedriver_win32\chromedriver.exe")
driver.get(webpage)
element = driver.find_element_by_css_selector("div[class='rec_view']>a")
link = element.get_attribute("href")
print(link)
如何在 Python 上使用 selenium 获取这些链接?
请您参考如下方法:
根据您共享的 HTML,获取 rec_view 上存在的所有链接的列表。 div 你可以使用下面的代码块:
from selenium import webdriver
driver = webdriver.Chrome(executable_path=r'C:\chromedriver_win32\chromedriver.exe')
driver.get('https://www.testurl.com/page/123/')
elements = driver.find_elements_by_css_selector("div.rec_view a")
for element in elements:
print(element.get_attribute("href"))
注意:因为您需要从 div 标签中收集所有的 href 属性,所以而不是 find_element_*你需要使用 find_elements_* .此外,>指立即<a>您需要遍历所有 <a> 的子节点因此所需的子节点 css_selector将是 div.rec_view a
