Selenium打开页面,出现弹窗需要登录账号密码,怎么解决?

前言

有时候,遇到需要登录账号密码的情况,无疑会想到用selenium。用selenium打开普通页面,其实都非常简单,但是你有没有遇到过这样的情况呢?,如下:

 打开一个页面,会跳转出一个账号密码登录弹窗。没关系,跟着小编继续往下看,教你怎么解决?

解决方法

这里需要用到pyautogui,直接在终端先安装这个库

pip install pyautogui

其实,pyautogui的功能很全面,但是解决上面的问题,这里只需要用到两个方法

pyautogui.typewrite
pyautogui.press

比方说,假设你的账号为:admin,密码为:123或者abc,使用下面的方法就可以解决selenium登录页面出现弹窗登录账号的问题。

from selenium import webdriver
import pyautogui


driver = webdriver.Chrome(executable_path='你的chromedriver.exe路径')
driver.get(url)

pyautogui.typewrite('admin', 0.5)    # 这里的意思是每0.5秒逐个输入a d m i n
pyautogui.press('enter')    # 模拟键盘点击enter
pyautogui.press('tab')      # 模拟键盘点击tab

pyautogui.typewrite('123', 0.5)    #  输入密码123 或者 abc
pyautogui.press('enter')
pyautogui.press('enter')       # 再次输入enter,是点击 提交按钮的意思

需要注意的是,如果你的账号或者密码里面有数字以及英文字母,这个时候需要以数字开头到下一个数字开始,进行分开输入,不然页面会登录失败

以下面的情况举个例子:

import time
import pyautogui

# 假设密码为 abc1cdd2mi3

pyautogui.typewrite('abc', 0.5)
pyautogui.press('enter')
time.sleep(1)

pyautogui.typewrite('1cdd', 0.5)
pyautogui.press('enter')
time.sleep(1)

pyautogui.typewrite('2mi', 0.5)
pyautogui.press('enter')
time.sleep(1)

pyautogui.typewrite('3', 0.5)
pyautogui.press('enter')
pyautogui.press('enter')

所以说,遇到有英文字母和数字结合的字符串,需要以数字开头,英文字母结尾进行分批次输入,才可以正确解决selenium遇到弹窗需要账号密码登录的问题。

记得收藏并关注小编哦,后面的python干货在等着你。

如果喜欢本文或者本文对你有帮助的话,记得关注小编并点个赞哟,有问题和需求欢迎留言私信。

Python干货|time模块和datetime模块打印时间的特殊用法


版权声明:本文为Leexin_love_Ling原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。