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

时间:2017-01-14 12:20:33

标签: python python-3.x selenium selenium-webdriver

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

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

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

3 个答案:

答案 0 :(得分:25)

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

您可以通过操作来完成。

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

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

您可以在Webdriver API - 7.2 Action Chains doc

中查看更多信息

答案 1 :(得分:0)

尝试这也会回到之前的驱动程序

driver.back()

答案 2 :(得分:0)

我在AppRobotic Personal编辑器中编写了Selenium Python脚本,然后将其Windows宏功能插入到Selenium操作之间。

import win32com.client
x = win32com.client.Dispatch("AppRobotic.API")
from selenium import webdriver

x.Type("{ESCAPE}")