如果遇到弹窗一般第一反应就是用switch_to.alter进行识别在进行操作,但是偶尔会遇到使用alter也解决不了的问题,那么我们可以通过PyKeyboad解决
1.安装pywin32
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywin32
2.安装PyHoo
从在https://www.lfd.uci.edu/~gohlke/pythonlibs/网址找到对应版本的PyHoo,通过cmd进入到该pyHook的文件夹路径后
pip install pyHook1.5.1cp37cp37mwin_amd64.whl
3.安装PyUserInput
pip install PyUserInput
4.如果还想进行输入操作就要再安装pyperclip
pip install pyperclip
上述都安装好之后进行导入就可以进行操作了
import os,time,pyperclip
from selenium import webdriver
from pykeyboard import PyKeyboard
#创建浏览器对象
ch_dirver=webdriver.Chrome()
ch_dirver.get('需要打开的网址')
#使窗口进行最大化
ch_dirver.maximize_window()
time.sleep(3)
#实例化对象
k=PyKeyboard()
#输入内容
k.type_string('输入内容')
time.sleep(5)
#实现回车操作
k.press_key(k.return_key)
time.sleep(5)
#按TAB键
k.press_key(k.tab_key)
time.sleep(5)
#进行复制操作
pyperclip.copy('需要复制的内容')
#进行CTRL+V操作
k.press_key(k.control_key)
k.tap_key('v')
k.release_key(k.control_key)
time.sleep(5)
#按下Enter键
k.press_key(k.return_key)
最近也更新了元素API识别方法,顺便说一下
新元素识别方法先导入BY包
from selenium.webdriver.common.by import By
导入包之后可以进行操作
ch_dirver.find_element(By.XPATH,'//标签名[@元素名="元素值"]')



