1、多標簽/多窗口之間的切換
場景:
在頁面操作過程中有時候點擊某個鏈接會彈出新的窗口,這時就需要切換到新打開的窗口上進行操作。這種情況下,需要識別多標簽或窗口的情況。
操作方法:
-
switch_to.window()
方法:切換窗口??梢詫崿F(xiàn)在不同的窗口之間切換。 -
current_window_handle
: 獲得當前窗口句柄。 -
window_handles
: 獲取所有窗口句柄。
提示:句柄就可以理解成瀏覽器窗口的id值。
操作說明:
- 獲取所有窗口的句柄
handles = driver.window_handlers
調(diào)用該方法會得到一個列表,在selenium運行過程中的每一個窗口,都有一個對應(yīng)的值存放在里面。
(換句話說,有多少個窗口,就有多少個句柄) - 通過窗口的句柄進入的窗口
driver.switch_to_window(handles[n])
2、練習
"""
1.學(xué)習目標:
必須掌握web中多窗口切換方法
2.語法(操作步驟)
2.1 獲取當前窗口句柄
driver.current_window_handle
2.2 點擊頁面中的超鏈接觸發(fā)多窗口
2.3 獲取所有窗口句柄
driver.window_handles
2.4 進入新窗口
switch_to.window(handles[1])
2.5 操作新窗口中的元素
按實際工作需求編寫
2.6 退出新窗口
switch_to.window(handles[0])
3.需求
在頁面中,實現(xiàn)多窗口切換。
"""
# 1.導(dǎo)入selenium
from selenium import webdriver
from time import sleep
# 2.打開瀏覽器
driver = webdriver.Chrome()
# 3.打開我的Python文檔頁面
url = "https://blog.csdn.net/Liuyuelinjiayou/article/details/105789238"
driver.get(url)
sleep(2)
# 4. 多窗口切換操作
# 4.1 獲取當前窗口句柄
handle = driver.current_window_handle
print('點擊之前的窗口句柄是:', handle)
print('點擊前的url:', driver.current_url)
# 4.2 點擊頁面中的超鏈接觸發(fā)多窗口
driver.find_element_by_link_text("PyCharm下載與安裝").click()
sleep(2)
# 4.2 獲取所有窗口句柄
handles = driver.window_handles
# 4.3 進入新窗口
driver.switch_to.window(handles[1])
print('點擊之后瀏覽器所有的窗口句柄是:', handles)
print('點擊后的url:', driver.current_url)
# 4.5 退出新窗口
# 你需要退到哪個窗口就寫哪個窗口的handle索引
# 因為handle在上邊賦值等于第一個窗口了,這里就可以寫handle
# 也可以寫handles[0]
driver.switch_to.window(handle)
sleep(10)
# 5.關(guān)閉瀏覽器
driver.quit()
"""
輸出結(jié)果:
點擊之前的窗口句柄是: CDwindow-6F1E6437F354913663E6A7E5A1486784
點擊前的url: https://blog.csdn.net/Liuyuelinjiayou/article/details/105789238
點擊之后瀏覽器所有的窗口句柄是: ['CDwindow-6F1E6437F354913663E6A7E5A1486784', 'CDwindow-48640D53F053821ED38D21B87E549A73']
點擊后的url: https://blog.csdn.net/Liuyuelinjiayou/article/details/105729957
"""
最后我這里給你們分享一下我所積累和真理的文檔和學(xué)習資料有需要是領(lǐng)取就可以了
1、學(xué)習思路和方法
這個大綱涵蓋了目前市面上企業(yè)百分之99的技術(shù),這個大綱很詳細的寫了你該學(xué)習什么內(nèi)容,企業(yè)會用到什么內(nèi)容??偣彩畟€專題足夠你學(xué)習
2、想學(xué)習卻無從下手,該如何學(xué)習?
這里我準備了對應(yīng)上面的每個知識點的學(xué)習資料、可以自學(xué)神器,已經(jīng)項目練手。
3、軟件測試/自動化測試【全家桶裝】學(xué)習中的工具、安裝包、插件....
4、有了安裝包和學(xué)習資料,沒有項目實戰(zhàn)怎么辦,我這里都已經(jīng)準備好了往下看
最后送上一句話:
世界的模樣取決于你凝視它的目光,自己的價值取決于你的追求和心態(tài),一切美好的愿望,不在等待中擁有,而是在奮斗中爭取。
如果我的博客對你有幫助、如果你喜歡我的文章內(nèi)容,請 “點贊” “評論” “收藏” 一鍵三連哦文章來源:http://www.zghlxwxcb.cn/news/detail-408736.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-408736.html
到了這里,關(guān)于Selenium基礎(chǔ) — 多窗口操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!