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

pyautogui利器

pyautogui是一个鼠标键盘的一个库,由于它是真实模拟鼠标和键盘事件所以只能开有界面哦!
下面是一些pyautogui的一些基础用法:

获取当前屏幕分辨率

screenWidth, screenHeight = pyautogui.size()

获取当前鼠标位置

currentMouseX, currentMouseY = pyautogui.position()

鼠标移动坐标为100,100位置 绝对移动

pyautogui.moveTo(100, 100)

pyautogui.click()

鼠标向下移动 相对移动

pyautogui.moveRel(None, 10)

pyautogui.doubleClick()

用缓动/渐变函数让鼠标2秒后移动到(1000,500)位置

pyautogui.moveTo(1000, 500, duration=2, tween=pyautogui.easeInOutQuad)

在每次输入之间暂停0.25秒

pyautogui.typewrite(‘Hello world!’, interval=0.25)

键盘点击esc

pyautogui.press(‘esc’)

按住shift键

pyautogui.keyDown(‘shift’)

放开shift键

pyautogui.keyUp(‘shift’)

好了!上面介绍了基本用法。我们来介绍一下运用这个pyautogui利器怎么才能让某宝检测不到咱爬虫!!!!

由于淘宝检测淘宝特别严格只要你用selenium打开浏览器就会检测。但是我们发现他检测最厉害的不就是那个滑块那一段吗?那我们为什么不能在它滑块检测的时候不用selenium就可以了啊!!!(哈哈哈我真是太聪明了)说是迟那是快动手撸代码!

由于我们要滑块过去后才运用selenium所以我们打开网页的方法就不能按常理用selenium打开网页了。
我们想到可以利用 Chrome DevTools 协议呀 运用cmd打开浏览器啊

chrome.exe https://login.taobao.com --remote-debugging-port=9222 --user-data-dir=“C:\selenum\AutomationProfile”

(记得提前配置chrome.exe在环境变量中哦)
测试的时候先在cmd中运行这段代码看看能不能打开淘宝网页,如果可以那么恭喜你配置成功啦

接下来我们只需要将这个打开浏览器的步骤用我们的代码来实现

os.system(‘chrome.exe https://login.taobao.com --remote-debugging-port=9222 --user-data-dir=“C:\selenum\AutomationProfile”’)

由于我们不是运用selenium打开的浏览器,我们发现我们没办法运用我们的selenium的操作呀,
为了可以运用selenium的操作,我们需要让selenium去接管我们的浏览器

chrome_options = Options()
chrome_options.add_argument(’–log-level=3’)
chrome_options.add_experimental_option(“debuggerAddress”, “127.0.0.1:9222”)
driver = webdriver.Chrome(options=chrome_options)

恭喜你,你已经用selenium控制这个浏览器了。现在我们就可以用selenium的操作了。淘宝的反反selenium也就迎刃而解了。

(你以为这样就完了???我以为这样就完了。。。正当我开心的爬着的时候突然发现淘宝进行了更新,发现现在滑块不管怎么样滑都是错误失败,接下来我们的利器pyautogui就出场了!!!!)

经过本人的不懈努力发现淘宝在首页不管用selenium的任何操作都会被检测(真的恶心啊),它不要我们用,我们就不用呗。既然selenium代替的是我们鼠标键盘操作,那我们用我们的pyautogui这个来模拟鼠标键盘操作不就可以了吗???(真是天才啊我啊哈哈哈哈)

由于pyautogui是用的绝对定位,所以每次操作都是运用的坐标去点击和拖动

print(pyautogui.position())

我们运用这个代码就可以输出当前点的坐标了,然后我们把我们需要点击和滑动的点坐标都print出来不就可以了吗

    pyautogui.typewrite('xxxxxxx')#输入账号
    pyautogui.typewrite(['enter'])#点击回车
    pyautogui.typewrite('xxxxxxxx')#输入密码
    pyautogui.moveTo(1256, 631)#移动鼠标到滑块开头处
    pyautogui.mouseDown()#按下鼠标
    pyautogui.moveTo(1670, 800, duration=0.6)#拖动鼠标到滑块结尾处
    time.sleep(1)
    pyautogui.mouseUp()#松开鼠标

经过本人测试这种方法适合任何反selenium的网站(能不适合吗?不就是按键精灵吗?说的好高大上 啊哈哈哈)
具体代码就不贴了
有任何问题可以加我 q:1374522338
留言看见也会解答!

下一篇:针对淘宝反selenium的反反爬措施详讲2-----pyppeteer

现在某猫和某宝在反反selenium的道路上越越来恶毒了,大部分是检测webdriver的关键符(网上有很多介绍这里就不一一介绍了)当我们遇到反selenium那该怎么办???????????????下面进入我们的正文!!!!!!!!!!!!!!pyautogui利器pyautogui是一个鼠标键盘的一个库,由于它是真实模拟鼠标和键盘事件所以只能开有界面哦!下面是一些pyautogui的一些...
Selenium 操作被屏蔽 使用selenium自动化网页时,有一定的概率被目标网站识别,一旦被检测到,目标网站拦截该客户端做出的网页操作。 比如淘宝和大众点评的登录页,当手工打开浏览器,输入用户名和密码时,是能正常进入首页的,但是如果是通过selenium打开, 直接提示验证失败,点击框体重试。 本文介绍一种办法,不需要修改浏览器属性,不需要注入JavaScript脚本,也能轻松绕过网站检测Selenium为何检测 每一个浏览器访问网站时,都带上特定的指纹特征,网站解析这些特征,从而
第一次发文没啥经验 很多都是借鉴若有侵权请告知 必更改 开源代码只供学习交流请勿用作其他用途!!! get_img()#这个函数是获取rgb格式屏幕截图,可用于截图一次识别多个元素 imgclick()#主要的识别图片点击函数,只选取一个点点击,可调节xy轴偏移值(识别图片a位置点击另一b位置)默认在一定范围内随机点击(可自行调节范围)图片识别率(若发现有很多误识别请调节识别率1为百分百匹配默认0.8) imgcheck()#检测图片返回bgr数值,可用于判断按钮按下的颜色变化 下面是代码区
这个 python 库是我用的比较多的第三方库了,因为它能帮我自动化操作许多事情,而且跨平台,非常好用。可以说是 python 中的按键精灵了。它不仅可以操作鼠标,还能操作键盘,屏幕截图,还能生成一些简单的交互窗口,在自动化操作方面提供的功能还是非常全面的。 python3 -m pip install pyautogui -i https://mirrors.aliyun.com/pypi/simple 以下操作都是已经引入了 pyautogui。 import pyautogui   最近公司有个新需求,大体流程是这样的,进入天津市市场主体信用信息公示系统,根据excel中表格的企业名称或税号查询企业的股东信息,查到之后获取股东信息的税号,然后再分别查询股东的股东,最后把查询结果录入excel。   读excel——>查询企业股东——》获取股东税号——》输入股东...
本身是做数据科学这方面,因部门急接了个自动化测试脚本的活儿,部门没人用python,故被领导找到,应要求学习了一下客户端和网页端的自动化测试操作,在此记录一下大概流程和注意点,供自己今后参考和备忘,不严谨勿喷。 1. Pyautogui图形用户界面自动化操作 Python的自动化测试包有很多,因时间有限,选择pyautogui,直接通过屏幕定位来操作鼠标和键盘,不用抓取窗口句柄等结构,简单粗暴方便。 这里以win10系统自动操作PLSQL数据库软件为例: # -*- coding: utf-8 -*