Python Selenium:如何发送ESC键来关闭弹出窗口?

Vol*_*il3 12 python selenium python-3.x selenium-webdriver

如前所述,有没有办法发送全局ESC密钥来关闭弹出窗口(CSS MODAL窗口)?我试过以下但没有奏效:

driver.find_element_by_tag_name('body').send_keys(Keys.ESCAPE)

我知道我可以使用xPath等但问题是网站有动态elementIds和类名.

小智 31

您不需要将密钥发送到元素,您需要全局按下它们(到浏览器).

你可以通过Actions来做到这一点.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

webdriver.ActionChains(driver).send_keys(Keys.ESCAPE).perform()
Run Code Online (Sandbox Code Playgroud)

您可以在Webdriver API - 7.2 Action Chains doc中查看更多信息

  • 我必须添加 ActionChains 的导入才能使其工作,并且只使用了 `ActionChains(driver).send_keys(Keys.ESCAPE).perform()`,前面没有 `webdriver` 位。在此处导入信息:/sf/answers/1866856281/ (3认同)