Python利用selenium+Beautifulsoup破解动态class/id并提取相应文本的方法

本文讲述了在Python自动化过程中遇到动态class/id的验证码提取问题。通过分析动态变化的HTML,发现使用传统的定位方法无效。最终,通过查找p标签的总数和目标标签的位置,结合selenium和Beautifulsoup成功定位并提取验证码。这种方法对于处理动态id和class的情况提供了思路。
摘要由CSDN通过智能技术生成

最近小白掌柜接了领导一项任务,要全程自动化的注册一个网站并登录网站后逗留一段时间再离开,起初觉得这个应该难度不会太大,就欣然接受了。谁知,拿到具体需求后一分析纳尼??在这里插入图片描述这个里面其实有好多难点,but本着我就是进阶的小白在这里插入图片描述还是决定挑战下去!今天先不说其他的难点,只说关于如何提取动态class/id里面的文本(就是注册后网站一般都会给邮箱发一个验证码,要提取的就是它在这里插入图片描述)的问题!!!

进入正题,因为项目领导给的验证邮箱是雅虎的,所以我就按照之前的方法进行自动登录并查看邮件再提取验证码这个思路。自动登录没有问题,查看邮件也没有问题,重点来了!!!当打开邮件到提取验证码标签的时候发现无法定位的问题!因为每刷新一次页面,验证码前面p标签的class属性值就变化一次。。。然后细看这段HTML代码,发现他是字母+数字的组合形式,而且不止是验证码这里是动态class,连上面的父元素都是动态的id。。。:在这里插入图片描述
顿时觉得雅虎的技术人员此刻是这样的表情在这里插入图片描述
但是这怎么能难倒我们这样的技术宅,马上谷歌起来,经过一番查找,终于让我找到了解决的办法,感谢这位大佬的指点 。解决动态id/class有四种方法:
在这里插入图片描述
发现雅虎邮件这里不适合第一种方法,第二种貌似可以,第三种不稳定,第四种对浏览器的支持情况不一样;所以综上就选择了第二种:使用相对关系定位。回到雅虎邮件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值