用python selenium提取网页中的所有<a>标签中的超级链接地址
3 回答
扬帆大鱼
TA贡献1799条经验 获得超9个赞
提取所有链接应该用循环:
1234 | urls = driver.find_elements_by_xpath( "//a" ) for url in urls: print (url.get_attribute( "href" )) |
如果get_attribute方法报错应该是没有找到a标签对象,如果确定是有的话,可能是页面加载比较慢还没加载出来,selenium默认是不会等待对象出现的,需要在找对象前加一些等待时间;另外如果页面上有iframe的话需要先切换进去才能找到里面的对象。
阿晨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"的话,可以判断该页面是在本窗口跳转的
添加回答
举报
0/150
提交
取消