辛辛苦苦写完代码,验证码也过了 结果怎么样点击登录也无法跳转。
看来是被反爬了。。。
附链接:因为一行js就可以识别出来
尽管被识别出来,也还是有解决办法的,首先是将chrome版本换成78,然后代码不变 也还是可以直接模拟登录的。
第二种方法就很骚了,我通过尝试selenium直接qq登录发现是可以直接登录的 并且也不需要换78版本和过验证码 我用的80版本在页面中怎么点击登录都不会跳转 手机验证码 直接账号密码登录都不行
结果竟然QQ还能直接过(电脑需要登录qq) 不过有个问题是 点击登录后需要手机确定同意 不过这一点好解决 我想的是直接自动控制鼠标打开安卓模拟器进行qq里面的确定(是不是超级简单?!)而且确认一次后,不需要第二次确认有需要可以写判断语句
而且如果有类似的登录网站也有QQ快捷登录,那么同样也可以直接绕过验证码这一块,算是耍小聪明了。不过最后技术还是要好好学的,验证码的识别这些需要好好学了。
import time
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from mouse import move,click
option=webdriver.ChromeOptions()
option.add_argument('--disable-extensions')
option.add_experimental_option('debuggerAddress',"127.0.0.1:9222")
driver=webdriver.Chrome(chrome_options=option)
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/