我有以下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_viewdiv 中存在的所有链接。所以我想要的那些链接是
rec_view
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_viewdiv 上所有链接的列表,您可以使用以下代码块:
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
find_element_*``find_elements_*``>``<a>``<a>``css_selector
div.rec_view a