当前位置:   article > 正文

【记录】基于selenium的亚马逊爬虫代码维护中遇到的bug与修护方式_selenium 亚马逊验证码

selenium 亚马逊验证码

项目场景:

导师为了检验我爬虫学得怎么样,把已经毕业师兄写好的一个基于selenium的爬虫代码交给我,要我去爬一些数据。然后不出所料,运行过程bug连连,有因为我自己学术不精导致的,也有因为师兄代码中存在一些版本老旧函数等,故开此帖,以做记录,也方便在学习爬虫的小伙伴一起进步!

特别感谢闪电橙子的帮助与指导
参考链接:Python3|Selenium4 极速上手入门(Windows)

问题一:AttributeError: ‘WebDriver’ object has no attribute ‘find_elements_by_xpath’

报错如图
在这里插入图片描述
虽然我知道这个东西很蠢,但是我还是说明一下(因为我之前不知道):
这里的报错是一步步追踪溯源的,最终发现报错是在第127行,与driver.find_elements_by_path有关。而不是说515 247 127行都有错。

错因:新版函数driver没有这个类了
解决办法:换等效函数
driver.find_elements_by_xpath( 改成了driver.find_elements(By.XPATH,


问题二:登录 login()时,偶尔会遇到反爬验证(有时候还是两次验证),原代码无法直接通过验证

在尝试登录时,遇到了亚马逊的反爬机制,并且偶尔甚至是两三次验证,防不胜防:
在这里插入图片描述

原因:登录阶段就是很容易被验证,而且可能是网络不好的原因,有时候验证时的验证码甚至无法加载
解决办法:
(1)借助 vpn 能有效减少登录阶段的验证拦截
(2)进入调试模式,由于代码基于 selenium,通过模拟点击来重复操作,
因此可以手动过一下验证(注:偶尔存在验证码无法加载的情况【如上图】,
可以多点几次 Try different image,多点几次就会直接跳过验证码阶段(可
能亚马逊识别出你是个真人并且验证码加载不出来….)或者选择“Hear”模
式,听验证码并进行输入)

2024年3月29日:我傻了 在connection函数里面设置了不显示图片 所以验证码蹦不出来

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/934994
推荐阅读
相关标签
  

闽ICP备14008679号