通过 class Selenium Python 提取 href

Extract href by class Selenium Python

我正在尝试获取在它们旁边找到特定 class 的所有 href。我不太熟悉 HTML 所以我遇到了一些麻烦。

inspect 中的 HTML 代码基本上是:

<a class="notranslate _0imsa " title="wheneverlilith" href="/randomusername/" tabindex="0"><span class="_7UhW9   xLCgt        qyrsm KV-D4           se6yk       T0kll ">randomusername</span></a>

我正在使用 find_elements 命令查找包含 class“notranslate _0imsa”的所有行,如下所示:

links = driver.find_elements_by_class_name('notranslate _0imsa ')

然后我使用以下命令从“链接”中提取所有 href:

for link in links:
    user = link.get_attribute('href')
    users.add(user)

当我尝试打印“用户”和“链接”的长度时,它们都显示为 0。

不允许复合 class 名称(一个用空格分隔:notranslate _0imsa)。

Selenium 无法通过这种方式找到这些元素。

试试这个:

links = driver.find_elements(By.XPATH, '//a[@class="notranslate _0imsa "]')

注意:您必须导入作者:

from selenium.webdriver.common.by import By

find_elements_by_class_name、find_element_by_xpath 等已弃用

在本文中阅读有关复合 class 名称的更多信息: