在爬虫中经常需要处理链接相关的问题,而在html代码中链接一般都是通过href属性来表示的,这里我们就利用之前提到的get_attribute()方法来获取链接内容。
举例:百度首页获取全部链接
- 启动浏览器
- 打开百度首页,https://www.baidu.com
- 定位所有链接,xpath表达式://*[@href]
- 通过get_attribute方法获取所有链接
- 退出浏览器,结束测试
from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
driver.maximize_window()
driver.get("https://www.baidu.com")
sleep(3)
links=driver.find_elements_by_xpath("//*[@href]")
for link in links:
print(link.get_attribute("href"))
driver.quit()
运行结果:
https://www.baidu.com/favicon.ico
https://www.baidu.com/content-search.xml
https://www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg
https://dss0.bdstatic.com/
https://dss1.bdstatic.com/
https://ss1.bdstatic.com/
https://sp0.baidu.com/
https://sp1.baidu.com/
https://sp2.baidu.com/
...
前面章节也有提到过,get_attribute()方法不仅可以用来获取href属性值,还可以用来获取type、id、name等一系列的属性值,可以根据自身需要进行获取各种属性值。