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

用python selenium提取网页中的所有<a>标签中的超级链接地址


守着一只汪
浏览 4618回答 3
3回答

扬帆大鱼

提取所有链接应该用循环:1234urls&nbsp;=&nbsp;driver.find_elements_by_xpath("//a")&nbsp;for&nbsp;url&nbsp;in&nbsp;urls:&nbsp;&nbsp;&nbsp;&nbsp;print(url.get_attribute("href"))如果get_attribute方法报错应该是没有找到a标签对象,如果确定是有的话,可能是页面加载比较慢还没加载出来,selenium默认是不会等待对象出现的,需要在找对象前加一些等待时间;另外如果页面上有iframe的话需要先切换进去才能找到里面的对象。

阿晨1998

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