中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

selenium獲取多窗口句柄并一一切換至原窗口句柄(三個窗口)

發布時間:2020-07-12 02:41:31 來源:網絡 閱讀:4941 作者:可米IT 欄目:軟件技術

網上有很多是selenium基于python來獲取兩個窗口句柄與切換,本文實現用python+selenium獲取多窗口句柄并一一切換至原窗口句柄(三個窗口),且在每個窗口下進行一個搜索或翻譯,然后截圖。

代碼如下:

# coding=utf-8
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.maximize_window() # 窗口最大化

driver.get('https://www.baidu.com') # 在當前瀏覽器中訪問百度
time.sleep(2)
#print(driver.current_window_handle)# 輸出當前窗口句柄(百度)
frist_handle = driver.current_window_handle

# 新開一個窗口,通過執行js來新開一個窗口,訪問搜狗
js='window.open("https://www.sogou.com");'
driver.execute_script(js)

# 再新開一個窗口,通過執行js來新開一個窗口,訪問有道
js='window.open("http://www.youdao.com/");'
driver.execute_script(js)

handles = driver.window_handles # 獲取當前窗口句柄集合(列表類型)
print(handles) # 輸出句柄集合

for handle in handles:# 切換窗口(切換到有道)
    if handle != frist_handle:
        driver.switch_to_window(handle)
        #print(driver.current_window_handle)  # 輸出當前窗口句柄(有道)
        driver.find_element_by_id("translateContent").send_keys("selenium")  #有道翻譯selenium
        driver.find_element_by_css_selector("button").click()
        #driver.find_element_by_css_selector("[data-rlog='search-popup-close-win']").click()
        driver.find_element_by_css_selector("[class='close js_close']").click()  #關閉彈窗
        driver.get_screenshot_as_file("D:\windows\\youdao.jpg")  # 截圖  可自定義截圖后的保存位置(D:\windows)和圖片命名(youdao.jpg)
        time.sleep(5)
        break
driver.close() #關閉當前窗口(有道)

for handle in handles:# 切換窗口(切換到搜狗)
    if handle != frist_handle:
        driver.switch_to_window(handles[-1]) #此時只剩兩個句柄,取最后一個
        #print(driver.current_window_handle)  # 輸出當前窗口句柄(搜狗)
        driver.find_element_by_id("query").send_keys("selenium")  #搜狗搜索selenium
        driver.find_element_by_id("stb").click()
        time.sleep(2)  #等待2s為了截完整搜索結果圖
        driver.get_screenshot_as_file("D:\windows\\sougou.jpg")  # 截圖  可自定義截圖后的保存位置和圖片命名
        time.sleep(5)
        break
driver.close() #關閉當前窗口(搜狗)

#driver.switch_to_window(frist_handle) #切換回百度窗口
driver.switch_to_window(handles[0]) #切換回百度窗口
driver.find_element_by_id("kw").send_keys("selenium")  #百度搜索selenium
driver.find_element_by_id("su").click()
time.sleep(2) #等待2s為了截完整搜索結果圖
driver.get_screenshot_as_file("D:\windows\\baidu.jpg")  #截圖  可自定義截圖后的保存位置和圖片命名
time.sleep(5)
driver.quit() #退出瀏覽器

截圖如下:

selenium獲取多窗口句柄并一一切換至原窗口句柄(三個窗口)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赣榆县| 连平县| 揭阳市| 保康县| 女性| 台前县| 布拖县| 红河县| 丽水市| 阜城县| 华阴市| 中西区| 西林县| 密云县| 和龙市| 阿坝县| 永年县| 庐江县| 日土县| 藁城市| 洪洞县| 张家口市| 舒城县| 泉州市| 德兴市| 江油市| 玛曲县| 东兰县| 新安县| 鸡东县| 香港| 河津市| 碌曲县| 思南县| 德庆县| 铅山县| 治多县| 岳阳县| 大同市| 双牌县| 迁安市|