Background:
学习Checkbox和Radiobutton
目标:
- checkbox间的select/unselect
- radiobutton间切换
完整Code:
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="javascript:alert('Hello')">
<header>Hobby</header>
swimming: <input type="checkbox" name="swimming" value="swimming"><br>
reading: <input type="checkbox" name="reading" value="reading"><br>
<hr>
<header>Gender</header>
gender: <input type="radio" name="gender" value="male"><br>
<input type="radio" name="gender" value="female"><br>
<input type="submit" value="Login" id="Login">
</form>
</body>
</html>
Python:
from selenium import webdriver
from time import sleep
import os
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
path = os.path.dirname(os.path.abspath(__file__)) # 当前文件所在目录路径
# file协议拼接
file_path = 'file:///' + path + '/forms2.html'
# 访问本地html
self.driver.get(file_path)
def test_checkbox(self):
swimming = self.driver.find_element_by_name('swimming')
reading = self.driver.find_element_by_name('reading')
# 判断是否选中,没有选中就click
if not swimming.is_selected():
swimming.click()
if not reading.is_selected():
reading.click()
sleep(2)
# 取消选中
swimming.click()
sleep(2)
def test_radio(self):
lst = self.driver.find_elements_by_name('gender')
# 选择选项中的第一个
lst[0].click()
sleep(2)
# 选择选项中的第二个
lst[1].click()
sleep(2)
def test_submit(self):
# 确认提交
self.driver.find_element_by_id('Login').click()
sleep(2)
# 关掉弹框
self.driver.switch_to.alert.accept()
sleep(2)
self.driver.quit()
print('Pass')
if __name__ == '__main__':
case = TestCase()
case.test_checkbox()
case.test_radio()
case.test_submit()