声明:本文仅作为学习交流使用,如果侵犯了您的权益请联系我删除。

#使用selenium模拟淘宝登录,会无法通过滑块验证
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import timedriver = webdriver.Chrome()
driver.get(url='https://login.taobao.com')
J_Quick2Static = driver.find_element_by_id('J_Quick2Static')
J_Quick2Static.click()
TPL_username_1 = driver.find_element_by_id('TPL_username_1')
TPL_password_1 = driver.find_element_by_id('TPL_password_1')TPL_username_1.send_keys('测试账号1')
TPL_password_1.send_keys('1234567')
time.sleep(1)captcha = driver.find_elements_by_xpath('//div[@id="nocaptcha" and @style]')if captcha:button = driver.find_element_by_id('nc_1_n1z')ActionChains(driver).click_and_hold(button).perform()ActionChains(driver).move_by_offset(258, 0).perform()ActionChains(driver).release(button).perform()login_button = driver.find_element_by_id('J_SubmitStatic')login_button.click()time.sleep(5)
else:print('不需要验证码')login_button = driver.find_element_by_id('J_SubmitStatic')login_button.click()time.sleep(5)
driver.quit()

上述代码正常情况下会被js检测到使用了selenium,从而导致无论怎么滑动滑块验证码都不会验证通过。

#用于检测selenium的js地址:https://g.alicdn.com/secdev/sufei_data/3.6.8/index.js
function r() {return "$cdc_asdjflasutopfhvcZLmcfl_"in u || f.webdriver}

如果你在selenium打开的浏览器的console控制台中输入navigator回车,你发现其中有个webdriver属性为true,而正常打开的浏览器却不会有这个属性。这是因为Chrome从v63版本开始添加了这一属性,只要通过selenium调用了浏览器便会将这个属性设置为true。

解决方案:
步骤1.使用低于v63版本的Chrome(v62.0.3202.62版本测试通过),当然也不要忘了将chromedriver换成对应版本
步骤2.对于Mac/Linux系统:使用vim将chromedriver的"$cdc_asdjflasutopfhvcZLmcfl_"这个key进行等量替换掉。Windows系统:则需要修改对应源码后编译。

按照上述方案操作以后再去测试本文开头的代码便可以通过滑块验证,以上方法也可以用于模拟大鱼号的登录(阿里系)。
注:以上代码只能在webdriver有界面的情况下运行通过。

反反爬之js检测selenium篇(某宝登录)相关推荐

  1. python模拟淘宝登陆_【Python】selenium模拟淘宝登录

    # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By f ...

  2. 自学爬虫项目(二)一一利用selenium模拟淘宝登录,爬取商品数据

    文章目录 前言 一.明确目标 二.分析过程 三.代码封装 总结 前言 你是否还在为学习Python没有方向而苦恼?快来跟着壹乐一起学习吧!让我们共同进步! 今天我们用selenium与Beautifu ...

  3. Java利用selenium模拟淘宝登录

    代码实现 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium ...

  4. selenium 成功绕过淘宝登录反爬机制

    前言 selenium + webdriver 在登录淘宝时会出现反爬滑块,该滑块无论怎么滑也滑不成功,只会出现 哎呀,出错了,点击刷新再来一次 有两个问题存在,导致 selenium + webdr ...

  5. 针对淘宝反selenium的反反爬措施详讲1-----pyautogui

    现在某猫和某宝在反反selenium的道路上越越来恶毒了,大部分是检测webdriver的关键符(网上有很多介绍这里就不一一介绍了)当我们遇到反selenium那该怎么办??????????????? ...

  6. 已解决selenium框架接管已经打开的谷歌浏览器(Python反反爬教程,亲测有效)

    已解决selenium框架接管已经打开的谷歌浏览器(Python反反爬教程,亲测有效) 文章目录 问题描述 解决方法 千人全栈VIP答疑群联系博主帮忙解决报错 问题描述 使用selenium自动化测试 ...

  7. selenium:反反爬拖动验证码

    前言 springboot 2.0.0.RELEASE selenium-java 3.9.1 chromedriver win32 2.33 chrome 62.0.3202.94 你已经可以编写s ...

  8. Python爬虫自学之第(①)篇——爬虫伪装和反“反爬”

    有些网站是防爬虫的.其实事实是,凡是有一定规模的网站,大公司的网站,或是盈利性质比较强的网站,都是有高级的防爬措施的.总的来说有两种反爬策略,要么验证身份,把虫子踩死在门口:要么在网站植入各种反爬机制 ...

  9. selenium成功绕过淘宝登录反爬机制!

    userAgent 信息与正常模式不一致 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Hea ...

最新文章

  1. RabbitMQ面试题及答案
  2. java读取dat_使用在eclipse java.io库,以便能的FileInputStream读取dat文件
  3. python京东注册账号_Python爬虫模拟登录京东获取个人信息
  4. 简约超好看自适应团队介绍页源码
  5. java 蓝桥杯 求先序排列
  6. 一大波程序员血赚到腰疼...
  7. (转载)PHP环境搭建-记录
  8. mysql 线程内存 回收_【MySQL】InnoDB后台线程与内存缓存池
  9. 第八周项目4-个人所得税计算器
  10. java lazy实现依赖调用_spring 之 lazy-init Autowired depends-on
  11. vant 调取上传照片
  12. java-贪吃蛇小游戏
  13. linux下对文件和文件夹加密
  14. [zz]QuickTime电影(Movie)
  15. 计算机支持教学管理任务各种应用,2014暑期-多媒体制作与教学资源应用培训讲义-肖玉玉.ppt...
  16. 【python】录音语音识别
  17. Bank Marketing预测一个客户购买理财产品的成功率
  18. 脚本引擎《游戏脚本的设计与开发》-序
  19. oracle转借权限,Oracle Universal Connection Pool(UCP) for JDBC 详解
  20. 数字图像处理与Python实现

热门文章

  1. 可怕的“浏览器指纹”,让你在互联网上,无处可藏
  2. 数据处理——实现数据过滤
  3. 电商平台如何才能对接银行分账核算服务?
  4. matlab 05,Matlab05基础教程555.ppt
  5. php怎么调节字体大小,php 怎么设置 字体
  6. 使用Python自动连接校网
  7. 迅为RK3399开发板支持在Ubuntu系统下安装Docker
  8. 消除开发板wifi 感叹号问题
  9. 二维数组查找(C++)(二分查找)
  10. 唐骏在同济大学的演讲