標籤頁切換
image在selenium中每個標籤頁都有一個handle,若不切換handle,定位到的元素只會找到當前頁面。
這邊,以中國銀行點擊功能為例,會自動開啟新分頁。
創建selenium對象
from selenium import webdriver
browser = webdriver.Chrome()
訪問中國銀行,開啟功能分頁
browser.get("http://www.boc.cn/")
links = browser.find_elements_by_xpath(".//*[@class='index_lg']//a")
for i in links:
i.click()
print(browser.title)
查看目前所有分頁的handle,而handle每次生成都會是不一樣的。
handles = browser.window_handles
輸出:
['CDwindow-e10a2580-b8af-471c-a645-9265207ff5e6',
'CDwindow-21cd97f5-9e7f-436e-9de1-dfdb4bd38a14',
'CDwindow-95f59ba3-cbff-424f-a739-9fd170b936ae',
'CDwindow-fee5a3db-f3b2-4606-aefa-cbd42ebf3b30',
'CDwindow-c2977923-b62a-4fbf-a4d3-51ec90f3cdd8']
遍歷所有handle
for h in handles:
browser.switch_to_window(h) # 切換handle
print("當前 handle: ", browser.current_window_handle)
print("當前 title: ", browser.title)
輸出:
handle: CDwindow-e10a2580-b8af-471c-a645-9265207ff5e6
title: 中国银行全球门户网站
handle: CDwindow-21cd97f5-9e7f-436e-9de1-dfdb4bd38a14
title: 海外及港澳台地区客户网银登录
handle: CDwindow-95f59ba3-cbff-424f-a739-9fd170b936ae
title: 登录
handle: CDwindow-fee5a3db-f3b2-4606-aefa-cbd42ebf3b30
title: 中国银行
handle: CDwindow-c2977923-b62a-4fbf-a4d3-51ec90f3cdd8
title: 中国银行
网友评论