Selenium window

note

  • browser.execute_script("window.open('https://www.google.com/','aaa')")
    在視窗名稱aaa載入google網頁,如果視窗aaa不存在,就會新開一個視窗。
  • browser.execute_script("window.open('')")
    直接新開一個視窗,不指定視窗名稱。
  • browser.execute_script("return window.name")
    讀取目前視窗名稱。
  • browser.switch_to.window(browser.window_handles[0])
    切換第一個視窗,也就是最開始的那個視窗。
  • browser.switch_to.window(browser.window_handles[1])
    切換第二個視窗。
  • browser.switch_to.window('aaa')
    切換到名稱aaa的視窗。
  • browser.switch_to.window('')
    切換第一個沒有名稱視窗,也就是最開始的那個視窗。
  • browser.close()
    關閉目前的視窗,此時要馬上做 browser.switch_to.window(browser.window_handles[0]) 切換視窗,不然會因為找不到視窗出現錯誤而無法執行任何指令,包含 browser.switch_to.window('') 也會錯誤。
  • 請注意 window.open() 是在目前視窗右邊插入一個新視窗,而不是在最後面再開一個新視窗,還有 window_handles 的 index 是看目前 browser 上的 TAB 位置,而不是看你開啟視窗的順序。

Reference

留言