一尘不染

在python中使用selenium获取所有href链接

selenium

我正在用Python练习Selenium,我想使用Selenium获取网页上的所有链接。

例如,我想要http://psychoticelites.com/href=上所有<a>标签的属性中的所有链接。

我写了一个脚本,它正在工作。但是,它给了我对象地址。我尝试使用id标签来获取值,但是,它不起作用。

我当前的脚本:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys


driver = webdriver.Firefox()
driver.get("http://psychoticelites.com/")

assert "Psychotic" in driver.title

continue_link = driver.find_element_by_tag_name('a')
elem = driver.find_elements_by_xpath("//*[@href]")
#x = str(continue_link)
#print(continue_link)
print(elem)

阅读 763

收藏
2020-06-26

共1个答案

一尘不染

好吧,您只需要遍历列表即可:

elems = driver.find_elements_by_xpath("//a[@href]")
for elem in elems:
    print(elem.get_attribute("href"))

find_elements_by_*返回元素列表(注意“
elements”的拼写)。遍历列表,获取每个元素,然后从中获取所需的所需属性值(在本例中为href)。

2020-06-26