selenium 視窗切換和關閉(控制代碼)

2021-09-18 06:21:56 字數 1249 閱讀 3303

控制代碼,就是當前瀏覽器每個視窗的識別符號,每個視窗的控制代碼具有唯一性,多用於頁面切換與關閉指定頁面;

接下來先做乙個小實驗,證明一下為啥需要用到控制代碼:

# -*- coding:utf-8 -*-

import time

from selenium import webdriver

browser = webdriver.chrome(

)browser.set_window_size(

1920

,1080

)browser.get(

"")time.sleep(1)

handles = browser.window_handles #獲取所有視窗的控制代碼

print

("當前視窗的控制代碼"

,handles )

#這裡輸出所有視窗的控制代碼,當前只有乙個視窗,所以輸出的是當前視窗的控制代碼

browser.find_element_by_link_text(

).click(

)handles = browser.window_handles #獲取所有視窗的控制代碼

print

("全部視窗的控制代碼"

,handles )

#這裡會輸出兩個控制代碼資訊,以list的方式返回

到這裡,我們怎麼知道當前標記的是哪個視窗的控制代碼呢(就是讀取哪個視窗的**)?我們可以關閉乙個視窗,如果某個視窗被關閉了,那就證明標記的是哪個視窗的控制代碼,在後面增加下面這行**

browser.close(

)#關閉當前標識的視窗

handles = browser.window_handles #獲取所有視窗的控制代碼

print

("全部視窗的控制代碼"

我們會發現就算開啟了新的視窗,並在頁面上跳轉到新的視窗,但是關閉的視窗仍然是最初始的視窗,所以這就證明由始至終都是標識第乙個視窗的控制代碼,那我們就要在進行後面一系列操作之前,先標識到新視窗的控制代碼

這樣子,我們就可以在新視窗進行一系列的操作啦,當然,切換視窗,也可以使用重定向的方式,關注我,後續再介紹哈!!!

selenium 切換視窗

參考原文 瀏覽器支援多視窗開啟,但是開啟乙個新的視窗後,selenium不會自動跳轉至新的視窗,需要自己切換 1.driver.window handles 獲取當前瀏覽器的所有視窗,此時windows 為乙個陣列,windows 視窗1,視窗2,視窗3.切換為最新開啟的視窗 driver.swit...

selenium視窗切換

coding utf 8 author wang 1.在同乙個標籤選項卡上開啟不同的頁面,相當於是使用同乙個window視窗開啟不同的頁面,window物件沒有變 2.不同選項卡開啟不通的頁面,window物件會發生改變,此時注意切換window物件否則無法 定位新的頁面中的元素 import ti...

selenium之視窗切換

1.何時需要切換視窗呢?1 標籤內部存在iframe,普通的方式無法直接定位到iframe內部的標籤元素。需要切換 2 乙個瀏覽器物件,存在多個標籤選項卡。需要切換。2.iframe標籤舉例 qq郵箱登入 from selenium import webdriver from selenium.we...