控制代碼,就是當前瀏覽器每個視窗的識別符號,每個視窗的控制代碼具有唯一性,多用於頁面切換與關閉指定頁面;接下來先做乙個小實驗,證明一下為啥需要用到控制代碼:
# -*- 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...