我有以下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获取这些链接?
答案 0 :(得分:4)
根据您共享的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
强>