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

lyyyyyyy · September 03, 2019 · Last by 随风挥手 replied at July 21, 2020 · 3173 hits

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)
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up