首页 > 解决方案 > get_attribute('href') 返回无

问题描述

我正在学习硒。我正在尝试用硒抓取亚马逊网站。这是我要抓取的链接。

在上面的 url 中,我试图用类提取所有元素a-size-mini并从这些元素中提取链接。

这是我的代码

links = driver.find_elements_by_class_name("a-size-mini")

for link in links:
    element = WebDriverWait(driver, 5).until(
                    EC.presence_of_element_located((By.LINK_TEXT, link.text)))

    print(element.get_attribute('href'))

但这是回归None。我不确定我做错了什么。列表的长度links显示为 55,当我尝试打印element变量时,我得到以下信息

<selenium.webdriver.remote.webelement.WebElement (session="121606058bd493d1a70fc957699d7f6d", element="c3dd6f5b-a9bb-409c-8ee2-666cac7e7432")>

所以这些变量不是空的或无。但是当我尝试使用get_attribute('href')它返回的方法提取链接时None

请帮帮我。提前致谢

标签: pythonselenium

解决方案


请使用此命令。

links = driver.find_elements_by_xpath('//h2[contains(@class, "a-size-mini")]/a')

通过 xpath 解析 html 比类名更有效。


推荐阅读