LoginSignup
1
0

More than 3 years have passed since last update.

(Python Selenium) 別Windowが閉じたのを感知する

Last updated at Posted at 2019-09-16

別Windowが閉じたのを感知する

「ボタンクリックで別ウィンドウを開き、処理が終わったところでウィンドウが閉じる」といった処理を自動化したくなり、別Windowが閉じたのを感知する処理を調査しました。

実装方法:別ウィンドウ内の要素の存在が無くなったことを感知する

別ウィンドウ内の要素として常に表示されているものをdriver.find_element_by_nameし続けて、初回以降に取得に失敗するまで繰り返すことで、ウィンドウが消えたことを感知できました。

actionModule.py
from selenium.webdriver.chrome.webdriver import WebDriver

def waitForWindowToBeClosed(driver:WebDriver, targetWindowIndex=1,nameAsMarkWindowExisting:str):
    driver.switch_to.window(driver.window_handles[targetWindowIndex])
    driver.find_element_by_name(nameAsMarkWindowExisting)

    while True:
        try:
           driver.find_element_by_name(nameAsMarkWindowExisting)
        except Exception:
            break
    driver.switch_to.window(driver.window_handles[0])

これで別windowが閉じるまで待つ処理が実装出来ました。

以上です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0