python自動化測試selenium操作checkbox和radiobox技術
form表單中經常涉及復選框(checkbox)和單選框(radiobox),如用戶的愛好跑步、游泳、跳舞可以使用復選框,性別男、女可以使用單選框。
(1)checkbox選擇或反選:使用click()方法
(2)radiobox有相同的名稱,多個值,可先通過名稱獲得,再通過值判斷,選擇使用click()方法。
示例頁面:
頁面代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="javascript:alert('selenium操作表單中checkbox和radiobutton')"> 測試from表單操作checkbox和radiobutton<br> 跑步:<input type="checkbox" name="running" value="running"><br> 游泳:<input type="checkbox" name="swimming" value="swimming"><br> 跳舞:<input type="checkbox" name="dancing" value="dancing"><br> <!--<hr>分界線--> <hr> 性別:<br> 男:<input type="radio" name="gender" value="male"><br> 女:<input type="radio" name="gender" value="female"><br> <input type="submit" value="login"> </form> </body> </html>
示例腳本:
import os from selenium import webdriver from time import sleep class TestCheckBoxOrRadioBtn(object): def setup(self): self.driver = webdriver.Chrome() path = os.path.dirname(os.path.abspath(__file__)) file_path = 'file:///'+path+'/html/form.html' self.driver.get(file_path) def test_checkbox(self): #定位跳舞 dancing=self.driver.find_element_by_name("dancing") #如果沒有選擇,則點擊選擇 if not dancing.is_selected(): dancing.click() sleep(2) running = self.driver.find_element_by_name("running") if not running.is_selected(): running.click() sleep(2) swimming = self.driver.find_element_by_name("swimming") if not swimming.is_selected(): swimming.click() sleep(2) #再次點擊取消選擇游泳 swimming.click() sleep(2) self.driver.quit() def test_radio(self): #獲得元素列表 gender= self.driver.find_elements_by_name("gender") #選中性別男 gender[0].click() sleep(2) # 選中性別女 gender[1].click() sleep(2) self.driver.quit() if __name__ == '__main__': case = TestCheckBoxOrRadioBtn() case.test_checkbox() case.test_radio()
運行結果:
以上就是python自動化測試selenium操作checkbox和radiobox技術的詳細內容,更多關于selenium操作checkbox和radiobox的資料請關注腳本之家其它相關文章!
相關文章
Python3利用SMTP協(xié)議發(fā)送E-mail電子郵件的方法
SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉方式。下面這篇文章主要給大家介紹了關于Python3如何利用SMTP協(xié)議發(fā)送E-mail電子郵件的方法,需要的朋友可以參考下。2017-09-09django 解決自定義序列化返回處理數(shù)據(jù)為null的問題
這篇文章主要介紹了django 解決自定義序列化返回處理數(shù)據(jù)為null的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python中decimal.Decimal類型和float類型的比較
這篇文章主要介紹了Python中decimal.Decimal類型和float類型的比較,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11分享一枚pycharm激活碼適用所有pycharm版本我的pycharm2020.2.3激活成功
這篇文章主要分享一枚pycharm激活碼適用所有pycharm版本我的pycharm2020.2.3激活成功,需要的朋友可以參考下2020-11-11本地部署Python?Flask并搭建web問答應用程序框架實現(xiàn)遠程訪問的操作方法
Flask是一個Python編寫的Web微框架,使用Python語言快速實現(xiàn)一個網站或Web服務,本期教程我們使用Python Flask搭建一個web問答應用程序框架,并結合cpolar內網穿透工具將我們的應用程序發(fā)布到公共網絡上,實現(xiàn)可多人遠程進入到該web應用程序訪問,需要的朋友可以參考下2023-12-12Python自動化運維之Ansible定義主機與組規(guī)則操作詳解
這篇文章主要介紹了Python自動化運維之Ansible定義主機與組規(guī)則操作,結合實例形式分析了自動化運維工具Ansible定義主機與組規(guī)則相關配置操作與注意事項,需要的朋友可以參考下2019-06-06