標籤:搜尋結果 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擷取多視窗控制代碼並一一切換至原視窗控制代碼(三個視窗)