利用selenium进行Python爬虫时,遇到href=#,获取真正网址的办法

在使用selenium进行Python爬虫时,遇到a标签href="#"无法获取有效网址。通过研究发现,实际网址信息在onclick属性中。通过解析onclick获取子路径,结合base网址构成完整URL。同时分享了如何获取页面中所有此类href的网址方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天,在利用selenium进行Python爬虫时,我遇到了下面的问题,我想得到图片中a标签中href的网址,却发现href = #,这可怎么搞哦!经过一番思索,查阅资料,网上有说抓包get获取网址的,但我比较菜鸡,就没用这种方法(以后可以研究研究)。最终,我居然发现!a标签里还有一个属性onclick,里面居然就是我想获取的网址的子路径!嗷嗷嗷嗷嗷!炒鸡兴奋的,然后方法如下:在这里插入图片描述
没错,在图片中可以看到,href="#", "ec.action=’/easoa/modules…’, 哇!这个’/easoa/modules…'就是我想要的子路径!只要base网址加上我的子路径就是我想要获取的网址啦哈哈哈哈!
首先,要利用xpath获取a标签里面的内容:

hrefList = browser.find_element_by_xpath('//*[@id="ec_table"]/tbody[1]/tr[1]/td[1]/a')

之后,获取onclick的内容:

subUrl = hrefList.get_attribute("onclick")

由于得出结果是:

subUrl = "ec.action='/easoa/modules/workflow/workflowFileinbox.do?method=show&id=4372892&isViewed=yes&viewId=4372892&formFlag=show&workflowsort=myDraft&searchId=';ec.submit();"

要得到子路径的话,可以根据符号 ’ 分割,所以,最后要:

subUrl = subUrl.split("\'")[1]

酱紫,最

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值