irpas技术客

selenium 解决滑块验证的问题,自动化登录12306中国铁路网_源源佩奇_selenium滑块验证

网络投稿 2939

简介

对于大部分玩爬虫或者学习爬虫的人来说,验证码毫无疑问是最烦的,但也是相比较而言也是比较容易破解的,但也需要费点脑筋。接下来给大家分享一个滑块验证的解决办法,希望能给大家带来帮助!!

网站我也是找了好久才找到一个有滑块的验证网址。。不好找啊!!!

或不多少,直接开始。

2、下载selenium

????????首先使用selenium ,需要进行安装

????????pip install sekenium

3、下载驱动

只要想在驱动了,selenium才能调动浏览器

下载驱动就不多说了,可以看看这篇,里面有很详细的教程:

驱动下载教程

4、代码 # 2022/7/15 22:16 from selenium.webdriver import Chrome from selenium.webdriver.common.action_chains import ActionChains import time web = Chrome() # 打开界面 web.get('https://kyfw.12306.cn/otn/resources/login.html') web.find_element_by_xpath('//*[@id="J-userName"]').send_keys('132') web.find_element_by_xpath('//*[@id="J-password"]').send_keys('Liujiaqing2858') time.sleep(2) # 点击登录按钮 web.find_element_by_xpath('//*[@id="J-login"]').click() time.sleep(2) # 获取滑块的按钮Xpath btn = web.find_element_by_xpath('//*[@id="nc_1_n1z"]') # 操作滑块向右平移100,上下移动0 ActionChains(web).drag_and_drop_by_offset(btn,100,0).perform() 5、结果

滑块拖动太快了,没要截到,不过效果还是出来了

能看到移动了100个像素的位置.

这句代码把100改成300就能滑过去了

ActionChains(web).drag_and_drop_by_offset(btn,100,0).perform()

最后还有一个小问题

出现这个问题其实是 :

这个方法 find_element_by_xpath 快要被删除了,但是现在还是能使用,就会发出这样的警告

解决办法:

1、导入包: from selenium.webdriver.common.by import By 2、换方法: web.find_element_by_xpath('//*[@id="J-login"]')? ==》 web.find_element(By.XPATH,'//*[@id="J-login"]')


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #selenium滑块验证 #selenium #解决滑块验证的问题 #不好找啊或不多少直接开始