当前位置: 首页 > 面试题库 >

在Python中使用Selenium获取来自某个div的链接

杭泉
2023-03-14
问题内容

我有以下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 中存在的所有链接。所以我想要的那些链接是

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



 类似资料:
  • 问题内容: 我正在用Python练习Selenium,我想使用Selenium获取网页上的所有链接。 例如,我想要http://psychoticelites.com/上所有标签的属性中的所有链接。 我写了一个脚本,它正在工作。但是,它给了我对象地址。我尝试使用标签来获取值,但是,它不起作用。 我当前的脚本: 问题答案: 好吧,您只需要遍历列表即可: 返回元素列表(注意“ elements”的拼写

  • HTML div类,其中包含我希望打印的数据 这是我目前的代码: 我打印出来的都是 硒。网络驱动程序。遥远的webelement。WebElement(session=“9aa956e2bd51f510dd626f6937b01c0e”,element=“0.6506218589958-1”) 我对selenium的帮助并不陌生

  • 我正在尝试从无限卷轴网站中提取链接 这是我向下滚动页面的代码 我的目标是从这个页面中提取特定的链接。使用class=“market\u current\u title”和HTML,如下所示: 当我使用 我最终发现了“陈旧的元素引用:元素未附加到页面文档”的错误。然后我尝试了 但它说没有这样的联系!!!你对解决这个问题有什么想法吗?

  • 我尝试了下面给出的代码,但每次运行代码时,都会有一些链接添加到missing。我想在一个列表中获取页面中的所有链接,这样我就可以使用切片来访问我想要的任何链接。 有没有办法在不遗漏任何元素的情况下获得所有元素。