ホームページ > バックエンド開発 > Python チュートリアル > Python を使用して Selenium で複数のブラウザ ウィンドウを切り替える方法?

Python を使用して Selenium で複数のブラウザ ウィンドウを切り替える方法?

Susan Sarandon
リリース: 2024-11-08 00:53:02
オリジナル
527 人が閲覧しました

How to Switch Between Multiple Browser Windows in Selenium with Python?

Python を使用して Selenium で複数のブラウザ ウィンドウを処理する方法

Selenium オートメーションを使用する場合、複数のブラウザ ウィンドウが表示される状況が発生することがあります。最初に開いたウィンドウにフォーカスが留まるため、後続のウィンドウでのナビゲーションやアクションの実行が困難になります。これに対処するための重要なメソッドは driver.switch_to.window() です。

ウィンドウ名の検索

driver.switch_to.window() という概念に反して、 ) にはウィンドウ名が必要ですが、代わりにウィンドウ ハンドルで動作します。ウィンドウ ハンドルを決定するには、window_handles プロパティを使用します。

新しいウィンドウに切り替える方法

新しく開いたウィンドウにフォーカスを切り替えるには、次の手順に従います。

  1. 新しいウィンドウをトリガーするリンクをクリックする前に、次のコマンドを使用して現在のウィンドウ ハンドルを記録します。
window_before = driver.window_handles[0]
ログイン後にコピー
  1. リンクをクリックした後、ウィンドウのハンドルを取得します。新しいウィンドウ:
window_after = driver.window_handles[1]
ログイン後にコピー
  1. switch_to.window(window_handle) メソッドを使用してフォーカスを指示します:
driver.switch_to.window(window_after)
ログイン後にコピー

複数のウィンドウ間を移動する次のコードを考えてみましょう:

import unittest
from selenium import webdriver

class WindowHandling(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Firefox()

    def test_window_switch(self):
        driver = self.driver
        driver.get("http://www.cdot.in")
        window_before = driver.window_handles[0]
        driver.find_element_by_xpath("//a[@href='http://www.cdot.in/home.htm']").click()
        window_after = driver.window_handles[1]
        driver.switch_to.window(window_after)
        driver.find_element_by_link_text("ATM").click()
        driver.switch_to.window(window_before)

    def tearDown(self):
        self.driver.close()

if __name__ == "__main__":
    unittest.main()
ログイン後にコピー

以上がPython を使用して Selenium で複数のブラウザ ウィンドウを切り替える方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート