Selenium selenium 怎么直接模拟键盘的 ESC 操作 (不添加元素对象)

lyyyyyyy · 2019年09月03日 · 最后由 随风挥手 回复于 2020年07月21日 · 5062 次阅读

https://www.peninsula.com/en/hong-kong/5-star-luxury-hotel-kowloon
网站的首页有个弹窗,本来是想定位到弹窗的 X,点击 click 的,但是一直报错说没法定位到。直接按键盘的 ESC 也可以,但是如果是对某元素的键盘操作也会报错说该元素不接受键盘操作。所以想请问大佬们有没有办法直接模拟键盘操作 ESC 的?

共收到 7 条回复 时间 点赞
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys

ActionChains(driver).send_keys(Keys.ESCAPE).perform()

小声比比:在 xpath 没辙的时候,而且只给自己使用的时候,调用 pyautogui,用分辨率定位,暴躁简单,一秒钟搞定😏

arrow 回复

谢谢大佬,亲测可以的,又学会了一招,谢谢

混子 回复

谢谢,等空了去试一下= =多个解决方案也不错,谢谢啦

可以用 pywin32

esc 后,还需要操作别的,需要在空白处点击一次定位确认句柄,当然有些网站不用,这样写比较安全。

from pynput.keyboard import Key, Controller

keyboard = Controller()
keyboard.press(Key.esc)
keyboard.release(Key.esc)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册