Python を使用して Selenium で複数のブラウザ ウィンドウを処理する方法
Selenium オートメーションを使用する場合、複数のブラウザ ウィンドウが表示される状況が発生することがあります。最初に開いたウィンドウにフォーカスが留まるため、後続のウィンドウでのナビゲーションやアクションの実行が困難になります。これに対処するための重要なメソッドは driver.switch_to.window() です。
ウィンドウ名の検索
driver.switch_to.window() という概念に反して、 ) にはウィンドウ名が必要ですが、代わりにウィンドウ ハンドルで動作します。ウィンドウ ハンドルを決定するには、window_handles プロパティを使用します。
新しいウィンドウに切り替える方法
新しく開いたウィンドウにフォーカスを切り替えるには、次の手順に従います。
window_before = driver.window_handles[0]
window_after = driver.window_handles[1]
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 サイトの他の関連記事を参照してください。