UI自動化之下拉框、窗口切換、彈窗處理


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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM