selenium擷取多視窗控制代碼並一一切換至原視窗控制代碼(三個視窗)

來源:互聯網
上載者:User

標籤:搜尋結果   pen   web   open   tps   .so   tor   bsp   集合   

網上有很多是selenium基於python來擷取兩個視窗控制代碼與切換,本文實現用python+selenium擷取多視窗控制代碼並一一切換至原視窗控制代碼(三個視窗),且在每個視窗下進行一個搜尋或翻譯,然後。

代碼如下:

 1 # coding=utf-8 2 from selenium import webdriver 3 import time 4  5 driver = webdriver.Chrome() 6 driver.maximize_window() # 視窗最大化 7  8 driver.get(‘https://www.baidu.com‘) # 在當前瀏覽器中訪問百度 9 time.sleep(2)10 #print(driver.current_window_handle)# 輸出當前視窗控制代碼(百度)11 frist_handle = driver.current_window_handle12 13 # 新開一個視窗,通過執行js來新開一個視窗,訪問搜狗14 js=‘window.open("https://www.sogou.com");‘15 driver.execute_script(js)16 17 # 再新開一個視窗,通過執行js來新開一個視窗,訪問有道18 js=‘window.open("http://www.youdao.com/");‘19 driver.execute_script(js)20 21 handles = driver.window_handles # 擷取當前視窗控制代碼集合(清單類型)22 print(handles) # 輸出控制代碼集合23 24 for handle in handles:# 切換視窗(切換到有道)25     if handle != frist_handle:26         driver.switch_to_window(handle)27         #print(driver.current_window_handle)  # 輸出當前視窗控制代碼(有道)28         driver.find_element_by_id("translateContent").send_keys("selenium")  #有道翻譯selenium29         driver.find_element_by_css_selector("button").click()30         driver.get_screenshot_as_file("D:\windows\\youdao.jpg")  #   可自訂後的儲存位置(D:\windows)和圖片命名(youdao.jpg)31         time.sleep(5)32         break33 driver.close() #關閉當前視窗(有道)34 35 for handle in handles:# 切換視窗(切換到搜狗)36     if handle != frist_handle:37         driver.switch_to_window(handles[-1]) #此時只剩兩個控制代碼,取最後一個38         #print(driver.current_window_handle)  # 輸出當前視窗控制代碼(搜狗)39         driver.find_element_by_id("query").send_keys("selenium")  #搜狗搜尋selenium40         driver.find_element_by_id("stb").click()41         time.sleep(2)  #等待2s為了截完整搜尋結果圖42         driver.get_screenshot_as_file("D:\windows\\sougou.jpg")  #   可自訂後的儲存位置和圖片命名43         time.sleep(5)44         break45 driver.close() #關閉當前視窗(搜狗)46 47 driver.switch_to_window(frist_handle) #切換回百度視窗48 driver.find_element_by_id("kw").send_keys("selenium")  #百度搜尋selenium49 driver.find_element_by_id("su").click()50 time.sleep(2) #等待2s為了截完整搜尋結果圖51 driver.get_screenshot_as_file("D:\windows\\baidu.jpg")  #  可自訂後的儲存位置和圖片命名52 time.sleep(5)53 driver.quit() #退出瀏覽器

如下:

 

selenium擷取多視窗控制代碼並一一切換至原視窗控制代碼(三個視窗)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.