首页 » 编程设计

python之在 Python 中使用 Selenium 从某个 div 获取链接

2025年05月04日23unruledboy

我有以下 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


阅读延展