2021年最新的过某宝滑块验证技术,Python轻松讲解技术难题
提供解决思路,此⽂实为借鉴。
前⾔:
利⽤selenium模拟登录淘宝,外界传⾔这个确实很难过,有各种轨迹检测。
但是我没想到淘宝的滑块验证码这么容易就能过。
私信⼩编001即可获取⼤量Python学习资料。
开发⼯具
**Python版本:**3.6.4
相关模块:c语言id返回1退出状态怎么解决
selenium模块;
python内置模块。
Chromedriver:
复合函数的求导法则⾃⾏⾕歌,下载和电脑上的⾕歌浏览器版本相匹配的驱动。
selenium模块本质是通过驱动浏览器,完全模拟浏览器的操作,⽐如跳转、输⼊、点击、下拉等,来拿到⽹页渲染之后的结果,可⽀持多种浏览器;由于selenium解析执⾏了CSS、JavaScript所以相对requests它的性能是低下的;
1.安装selenium
pip install selenium
先实例化⼀个webdriver.Chrome对象,⽤于⾃动化操作我们电脑⾥的⾕歌浏览器:
browser = webdriver.Chrome(executable_path=chromedriverpath)
模拟点击⽹页左上⽅的"亲,请登录"以进⼊淘宝⽹的登录界⾯:
然后跳转到下⾯的界⾯:
刚开始居然是没有出现验证码的,是我多次试错后调试出来的.这⾥还是要推荐下⼩编的Python学习区*(同⾳):‘’⼋三⼆,三五七,六六三‘’不管你是⼩⽩还是⼤⽜,⼩编我都欢迎,不定期分享⼲货,包括⼩编⾃⼰整理的⼀份2021最新的Python资料和0基础⼊门教程,欢迎初学和进阶中的⼩伙伴。在不忙的时间我会给⼤家解惑。js游戏特效
【点击】
模拟输⼊账户信息:
# 输⼊⽤户名密码username_sender = driver_wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="fm-login-id"]')))username_sender.send_key s(username)password_sender = driver_wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="fm-login-password"]')))password_sender.send_k eys(password)
浪子回头伦勃朗这类滑块验证码需要⽤户按住滑块,并将它拖动到最右边。⼀开始我也以为淘宝会加⼊⼀些检测⼿段
以识别是机器还是⼈在操作滑块。结果发现和外界传闻的不⼀样,⽤ActionChains函数直接把滑块拖到最右边就可以验证通过了:
try:
slider = browser.find_element_by_xpath("//span[contains(@class, 'btn_slide')]")access数据库特殊操作下载
if slider.is_displayed(): ActionChains(browser).click_and_hold(on_element=slider).perform()python入门教程资料
ActionChains(browser).move_by_offset(xoffset=258, yoffset=0).perform() ActionChains(browser).pause(0.5).release().perform()
except: pass
最后模拟点击⼀下登录按钮就⾏了:
# 点击登录按钮button = driver_wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="login-form"]/div[4]/button')))button.click()
程序到这⾥就⼤功告成了,有些⼈就很奇怪了,为什么这么简单就可以真的实现过验证呢?其实吧就总结了⼀句话:纸上得来终觉浅,绝知此事要躬⾏!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论