webUI自动化图片验证码登录、服务器自动登录、复用已打开浏览器登录(动态验证码或扫码登录)

接上一篇<webUI自动化图片验证码登录、cookie绕过验证码问题解决:https://blog.csdn.net/qsmy_an/article/details/118603671>

这篇来说下复用已打开浏览器登录这种方法,同样是因为登录页有图形验证码,省去识别图形验证码,打开已经登录的网页。

1、原理,这个方法是用Chrome先打开需要登录的网页,并登录上,比如需要输入动态图形验证码或者需要扫码登录。

打开登录网址方法:cmd命令,进入chromdriver路径下,大概路径都在这个路径下:

 在如上地址下执行命令:chrome --remote-debugging-port=9222

 执行完这个命令后,会打开Chrome浏览器,在打开的浏览器中,登录上需要自动化脚本执行的网站。

2、代码如下:这样执行之后,就是在Chrome上再次打开一个你需要的且已经登录好的网页;

#encoding=utf-8
import time

from pyrogram.filters import document
from selenium import webdriver
import requests
import sys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from utilpackage.action import *
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys


def serverAutoLogin():
    chrome_options = Options()
    chrome_options.add_experimental_option('debuggerAddress', '127.0.0.1:9222')
    chrome_driver = r"C:/Users/XXXX/AppData/Local/Google/Chrome/Application/chromedriver.exe"
    driver = webdriver.Chrome(chrome_driver, options=chrome_options)
    #进入已经手动登录成功的首页
    driver.get('https://aaaaaa/user/login/#/spmanage/welcome')
    time.sleep(3)
    #点击某个元素
    click(driver,"SmartPropertyIndexMenuPage","社区管理")
    

if __name__ == '__main__':
    serverAutoLogin()

3、遇到的问题:

①cmd执行了命了,浏览器也打开了,但是执行代码的时候,无法复用。

可以尝试以下方法:先关闭所有浏览器,包括已经打开的Chrome浏览器,在任务管理器中看下有没有Chrome的进程,有的话就关闭,保证没有Chrome进程;

②等复用登上,过了几天执行代码又不行了,再执行①,不行重启电脑再试试;

cmd执行命令,浏览器可以打开,但是代码执行各种报错,调试的过程中也是遇到各种问题,忘了具体都是报错信息了,一般百度都可以解决掉。说几个需要注意的吧:

1)这种方法仅支持Chrome版本是100的驱动,版本低了或者版本高了都会报错;

2)把C盘下的Chromedriver添加到环境变量中;

代码可以直接按上面的,路径换成自己的就行了,有问题可以百度查下,一般都可以解决了;

(转载请备注谢谢!)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值