为了账号安全,请及时绑定邮箱和手机立即绑定

请问该怎么用python selenium提取网页中的所有<a>标签中的超级链接地址?

请问该怎么用python selenium提取网页中的所有<a>标签中的超级链接地址?

守着一只汪 2019-09-02 09:05:33
用python selenium提取网页中的所有<a>标签中的超级链接地址
查看完整描述

3 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

提取所有链接应该用循环:

1234urls = driver.find_elements_by_xpath("//a") for url in urls:    print(url.get_attribute("href"))

如果get_attribute方法报错应该是没有找到a标签对象,如果确定是有的话,可能是页面加载比较慢还没加载出来,selenium默认是不会等待对象出现的,需要在找对象前加一些等待时间;另外如果页面上有iframe的话需要先切换进去才能找到里面的对象。


查看完整回答
反对 回复 2019-09-07
?
阿晨1998

TA贡献2037条经验 获得超6个赞

解决办法:
使用selenium.webdriver.remote.webelement.WebElement提供的get_attribute方法。
通过get_attribute拿到该a标签的各种属性,通过判断找到符合要求的元素进行点击。
get_attribute("href") 得到a标签对应的目标页面的URL,对URL进行判断就可以了解到该页面是否站内页面。我们可以知道,如果是站内页面的话这个属性一般会是一个相对路径,或者包含了本站域名,但如果是站外页面的话,那它一定是包含了“http”的一个url。
get_attribute("target")如果target不是"_blank"的话,可以判断该页面是在本窗口跳转的

查看完整回答
反对 回复 2019-09-07
  • 3 回答
  • 0 关注
  • 4617 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信