window_handles
andswitch_to.window
メソッドを使用してそれを行うことができます。
リンクをクリックする前に、まずウィンドウハンドルを次のように保存します
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 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()