Python+Selenium練習(十五)-在瀏覽器中切換tab


  在瀏覽器中切換tab。

  主要思路:

  1.打開百度首頁

  2.獲取百度主頁上面的學術鏈接

  3.在新tab中打開百度學術

  4.獲取百度主頁的窗口句柄

  5.獲取百度學術的窗口句柄

  6.通過窗口句柄切換頁面

  練習場景:

  1.打開百度首頁

  2.獲取百度主頁上面的學術鏈接

  3.用JavaScript語句,通過這條語句在新的標簽頁打開百度學術

  4.執行JavaScript語句

  5.獲取百度主頁的窗口句柄

  6.獲取瀏覽器打開的所有標簽頁句柄

  7.循環判斷是否是學術標簽的句柄,如果是學術標簽的句柄就會保存下來

  8.通過窗口句柄切換頁面,通過switch_to.window(標簽句柄) 方法

 

  具體代碼:

# coding=utf-8
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)

driver.get("http://www.baidu.com/")
time.sleep(1)
href = driver.find_element_by_link_text("學術").get_attribute('href')#獲取百度主頁學術的鏈接
js = 'window.open("{}");'.format(href)#javaScript語句,通過這條語句在新的標簽頁打開百度學術
driver.execute_script(js)#執行JavaScript語句
baidu_handle=driver.current_window_handle # #獲取百度主頁的窗口句柄
handles=driver.window_handles #獲取瀏覽器打開的所有標簽頁的句柄
for handle in handles:
    if handle != baidu_handle:
        xueshu_handle=handle
print(baidu_handle,xueshu_handle)
print('now window handle:',driver.current_window_handle)
driver.switch_to.window(xueshu_handle)#切換標簽頁,原本在百度主頁的頁面,現在切換到百度學術
print("now window handle:",driver.current_window_handle)
time.sleep(2)
driver.close()#關閉當前標簽頁,close和quit的區別是一個是關閉當前頁,一個是關閉瀏覽器
driver.switch_to.window(baidu_handle) #切換到百度主頁
time.sleep(2)
driver.close()

  

參考文章:https://blog.csdn.net/u011541946/article/details/69573632

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM