UI自動化過程經常會碰到下拉框處理,若下拉框使用的是select標簽,則可使用Select類進行處理。其他div標簽的下來框處理則使用切換到下來按鈕點擊后再點擊對應內容進行處理。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>腳本語言</title> </head> <body> <center> <select id="yy" name="yy"> <option value="python">python語言</option> <option value="java">java語言</option> <option value="ruby">ruby語言</option> </select> </center> </body> </html>
from selenium import webdriver from selenium.webdriver.support.select import Select import time as t driver = webdriver.Chrome() driver.maximize_window() driver.get("D:\\pycharmwokspace\\UITEST\\html\\index2.html") el = driver.find_element_by_id("yy") Select(el).select_by_index(0) #通過索引選擇 t.sleep(2) Select(el).select_by_visible_text("ruby語言") #通過下拉文本值選擇 t.sleep(2) Select(el).select_by_value("python") #通過option value值選擇 t.sleep(2) driver.quit()
UI自動化過程經常會碰到多個瀏覽頁簽進行切換處理,可使用switch_to_window()處理
from selenium import webdriver from selenium.webdriver.support.select import Select import time as t driver = webdriver.Chrome() driver.maximize_window() driver.get("D:\\pycharmwokspace\\UITEST\\html\\index2.html") cu_window = driver.current_window_handle #獲取當前窗口句柄 all_windwos = driver.window_handles #獲取所有打開窗口句柄 for handle in all_windwos: #循環窗口句柄 if handle != cu_window: #不是當前窗口句柄 driver.switch_to_window(handle) #切換到新窗口 driver.maximize_window()
UI自動化過程經常會碰到alter彈窗處理,可使用Alter處理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>測試</title> </head> <body> <script> alert("自動化測試") </script> </body> </html>
from selenium import webdriver from selenium.webdriver.support.select import Select import time as t from selenium.webdriver.common.alert import Alert driver = webdriver.Chrome() driver.maximize_window() driver.get("D:\\pycharmwokspace\\UITEST\\html\\index3.html") print(driver.switch_to.alert.text) t.sleep(2) driver.switch_to.alert.accept() driver.quit()