selenium - 在 python 中获取用户列表,使用 selenium

  显示原文与译文双语对照的内容

我在网页上有很多代码,看起来像这样:


<div class="user">

 <span class="versus"></span>
 <a href="/users/USERNAME" target="_blank"></a>

</div>

我想得到所有用户名的列表。

我试着使用


driver.find_element_by_partial_link_text("users")

以及它是由


(driver.find_elements_by_css_selector("div.user> a> span")

但我还是有问题。

任何帮助将不胜感激。

( 同时,我新增了 python - 如何循环查看结果,例如打印所找到的所有用户名)?

时间: 作者:

下面的代码应该可以正常工作:

driver.find_elements_by_xpath("//div[@class='user']/a")

或者

driver.find_elements_by_css_selector("div.user> a")

作者:

要扩展上答案以获取用户名:


users = driver.find_elements_by_css_selector("div.user> a") 
for user in users: 
 username = user.get_attribute("href").replace("/users/","")
 print(username) 

作者:

这些怎么样?

href精确等于:


driver.find_elements_by_css_selector("div.user> a[href='/users/USERNAME']")

href包含:


driver.find_elements_by_css_selector("div.user> a[href*='users']")

href开头:


driver.find_elements_by_css_selector("div.user> a[href^='/users/']")

href


driver.find_elements_by_css_selector("div.user> a[href$='/USERNAME']")

如果用户名是 html,你可以使用 element.get_attribute('href')

如果我回答你的问题,这应该是的工作:


users = [ elem.get_attribute('href').strip('/users/') for elem in driver.find_elements_by_css_selector("div.user> a[href^='/users/']") ]

...