web-dev-qa-db-ja.com

Python Selenium:ESCキーを送信してポップアップウィンドウを閉じる方法は?

前述のように、ポップアップ(CSS MODALウィンドウ)を閉じるためにグローバルESCキーを送信する方法はありますか?私は次のことを試みましたが、うまくいきませんでした:

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

私はxPathなどを使用できることを知っていますが、問題はサイトに動的なelementIdとクラス名があることです。

11
Volatil3

要素にキーを送信する必要はありません。それらをグローバルに(ブラウザに)押す必要があります。

アクションを介して実行できます。

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で確認できます

28
MrHant

AppRobotic PersonalエディターでSelenium Pythonスクリプトをコーディングし、Seleniumアクションの間にWindowsマクロ機能を挿入します。

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

x.Type("{ESCAPE}")
0
James

これも試してみてください、それはあなたが持っていた前のドライバーに戻ります

driver.back()
0
Jovy Postrado