通过 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 名称的更多信息:
我正在尝试获取在它们旁边找到特定 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 名称的更多信息: