Selenium 10行代码模拟登录知乎 不需换chrome版本及过验证码

辛辛苦苦写完代码,验证码也过了 结果怎么样点击登录也无法跳转。
看来是被反爬了。。。
附链接:因为一行js就可以识别出来

尽管被识别出来,也还是有解决办法的,1.首先是将chrome版本换成78,然后代码不变 也还是可以直接模拟登录的。

第二种方法就很骚了,我通过尝试selenium直接qq登录发现是可以直接登录的 并且也不需要换78版本和过验证码 我用的(78版本后都不行)80版本在页面中怎么点击登录都不会跳转 手机验证码 直接账号密码登录都不行

结果竟然QQ还能直接过(电脑需要登录qq) 不过有个问题是 点击登录后需要手机确定同意 不过这一点好解决 我想的是直接自动控制鼠标打开安卓模拟器进行qq里面的确定(是不是超级简单?!)而且确认一次后,不需要第二次确认, 如果不知道是否需要确认可以写判断语句

而且如果有类似的登录网站也有QQ快捷登录,那么同样也可以直接绕过验证码这一块,算是耍小聪明了。不过最后技术还是要好好学的,验证码的识别这些需要好好学了。

import time
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from mouse import move,click
**#这一段可以不需要 不注释的话需要利用cmd启动chrome(先cd到目录) 并--remote-debugging-port=9222跟后面端口号对应**
#option=webdriver.ChromeOptions()
#option.add_argument('--disable-extensions')
#option.add_experimental_option('debuggerAddress',"127.0.0.1:9222")
#driver=webdriver.Chrome(chrome_options=option)

**#直接利用selenium自动启动的也可以 不用接管 我试过了**
driver=webdriver.Chrome() 
driver.get("https://www.zhihu.com/signin")

def autologin():
   **#这里切换qq登录 后面我加延时为了看到好的效果**
   change_Qq_login=driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div[2]/span[2]/div[2]').click()
    time.sleep(3)
    **#座标的确定 下一个获取鼠标座标的小工具 后面的都是
    #这里已经点了**
    move(724,475)
    time.sleep(2)
    click()
    **#这里打开模拟器 座标都需要实际去确定(为避免每次都改,可以固定下方任务栏)**
    move(968,896)
    time.sleep(1)
    click()
    **#这里打开手机qq进行确定**
    move(741,303)
    time.sleep(1)
    click()
autologin()

在这里插入图片描述

最后附上我的博客http://www.dwlufvexyu.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章