Selenium for Python での新しいウィンドウへの切り替え
Selenium for Python では、複数のブラウザ ウィンドウを処理することが困難になる場合があります。リンクをクリックした後に新しいウィンドウが開くと、フォーカスは元のウィンドウに留まり、新しいウィンドウでアクションを実行できなくなります。この問題に対処するには、ドライバーのフォーカスを新しいウィンドウに切り替える必要があります。
ウィンドウ名の決定
driver.switch_to.window() メソッドには、ウィンドウの名前。ただし、Selenium には、この名前を直接取得する方法がありません。代わりに、window_handles 属性を使用して、一意の識別子であるウィンドウ ハンドルのリストを取得できます。
新しいウィンドウにフォーカスを切り替える
手順は次のとおりです。新しいウィンドウにフォーカスを切り替える方法:
コード例
次の Python コードは、複数のブラウザ ウィンドウを処理し、新しいウィンドウにフォーカスを切り替える方法を示しています。
import unittest from selenium import webdriver class GoogleOrgSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_google_search_page(self): driver = self.driver driver.get("http://www.cdot.in") window_before = driver.window_handles[0] print(window_before) 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) print(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()
以上がSelenium for Python で新しいウィンドウに切り替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。