【问题标题】:How to send ESC key to close pop up window using Python and Selenium?如何使用 Python 和 Selenium 发送 ESC 键以关闭弹出窗口?
【发布时间】:2017-05-29 17:29:39
【问题描述】:

如前所述,有没有办法发送全局ESC 键来关闭弹出窗口(CSS 模式窗口)?我尝试了以下但没有工作:

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

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

【问题讨论】:

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


【解决方案1】:

您不需要向元素发送键,您需要全局按下它们(到浏览器)。

您可以通过操作来完成。

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 中查看更多信息

【讨论】:

  • 我必须添加 ActionChains 的导入才能使其正常工作,并且只使用了 ActionChains(driver).send_keys(Keys.ESCAPE).perform() 而前面没有 webdriver 位。在此处导入信息:stackoverflow.com/a/26669375/6163621
  • 你需要先导入你要使用的东西——在这个例子中,它是 webdriver 或 ActionChains
【解决方案2】:

也试试这个,它会回到你以前的驱动程序

driver.back()

【讨论】:

【解决方案3】:

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

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

x.Type("{ESCAPE}")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 2021-03-11
    • 2020-11-14
    • 2021-06-21
    • 2011-06-20
    • 1970-01-01
    • 2020-06-22
    相关资源
    最近更新 更多