(一)操作文本输入框
常用方法 | 说明 |
sendkeys() | 设值 |
clear() | 清空文本框内容 |
get_attribute() | 获取文本框中的值 |
is_display() | 判断元素是否显示 |
案例演示:
from time import sleep
from selenium import webdriver
driver = webdriver.Firefox(executable_path="F:\GeckoDriver\geckodriver")
driver.get("https://www.imooc.com/")
driver.implicitly_wait(10)
# 1.文本框设值
driver.find_element_by_class_name("search-input").send_keys("selenium")
sleep(3)
# 2.获取文本框中的值
str = driver.find_element_by_class_name("search-input").get_attribute("value")
print("=========="+str)
# 3.清空文本框中的值
sleep(3)
driver.find_element_by_class_name("search-input").clear()
(二)操作CheckBox
常用方法 | 说明 |
click() | 点击checkbox |
isEnable() | 判断元素是否可以点击 |
isSelect() | 判断元素是否选中 |
is_display() | 判断元素是否显示 |
案例演示
from time import sleep
from selenium import webdriver
driver = webdriver.Firefox(executable_path="F:\GeckoDriver\geckodriver")
driver.get("https://www.imooc.com/")
driver.implicitly_wait(10)
driver.find_element_by_link_text("登录").click()
sleep(3)
element = driver.find_element_by_id("auto-signin")
# 1.判断元素是否显示
if element.is_displayed():
print("元素已显示在页面")
print("元素未显示")
# 2.判断元素可点击
if element.is_enabled():
print("元素可点击")
print("元素不可点击")
# 3.判断元素是否选中
if element.is_selected():
print("元素已选中")
sleep(3)
print("取消已选中元素")
element.click()
(三)操作redio、select
常用方法 | 说明 |
click() | 点击redio |
isEnable() | 判断元素是否可以点击 |
isSelect() | 判断元素是否选中 |
is_display() | 判断元素是否显示 |
select_by_value() | value是select元素的value |
select_by_index() | select列表中元素的索引 |
select_by_visible_text() | select列表下拉框的值 |
案例演示
from time import sleep
from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Firefox(executable_path="F:\GeckoDriver\geckodriver")
driver.get("https://www.imooc.com/")
driver.implicitly_wait(10)
driver.find_element_by_link_text("登录").click()
sleep(3)
# 1.登录操作
driver.find_element_by_class_name("xa-emailOrPhone").send_keys(xxx)
driver.find_element_by_name("password").send_keys("xxx")
driver.find_element_by_css_selector('input[value="登录"]').click()
sleep(6)
driver.get("https://www.imooc.com/user/setprofile")
sleep(3)
driver.find_element_by_link_text("编辑").click()
sleep(3)
# 4.下拉框操作
formElememt = driver.find_element_by_id("profile")
elememt1 = formElememt.find_element_by_id("job")
Select(elememt1).select_by_value("18")
elememt2 = formElememt.find_element_by_id("province-select")
Select(elememt2).select_by_visible_text("湖南")
# 5.redio的使用
elememt3 = driver.find_element_by_xpath("(//input[@type='radio'])[5]")
if not elememt3.is_selected():
elememt3.click()
#6.文本框
driver.find_element_by_xpath("(//textarea[@name='aboutme'])[2]").send_keys("123123123")
(四)操作button按钮
自动化用例编写有时候我们需要判断按钮是否可以点击,需要掌握按钮相关操作
方法 | 说明 |
click() | 点击按钮 |
isEnable() | 判断按钮是否可以点击 |
(五)frame/iframe多表单切换
方法 | 说明 |
switch_to_frame(element) | 切换到iframe窗体 |
switch_to_default_content(element) | 切换到最外层窗体 |
from time import sleep
from selenium import webdriver
driver = webdriver.Firefox(executable_path="F:\GeckoDriver\geckodriver")
driver.get("https://www.imooc.com/")
driver.implicitly_wait(10)
driver.find_element_by_link_text("登录").click()
sleep(3)
# 1.登录操作
driver.find_element_by_class_name("xa-emailOrPhone").send_keys(xxx)
driver.find_element_by_name("password").send_keys("xxx")
driver.find_element_by_css_selector('input[value="登录"]').click()
sleep(6)
driver.get("https://www.imooc.com/article/publish#")
sleep(3)
# 1.定位到iframe元素
element = driver.find_element_by_id("ueditor_0")
driver.switch_to_frame(element)
driver.switch_to_default_content()
driver.find_element_by_tag_name("body").send_keys("hello world")
(六)文件上传操作
(七)table操作
1.通过selenium定位方式(id、name、xpath等方式)定位table标签
#html源码<table border="5" id="table1" width="80%">#selenium操作代码table1=driver.find_element_by_id('table1')
2.获取总行数(也就是获取tr标签的个数)
#html源码<tr><th>姓名</th><th>性别</th></tr>#selenium操作源码
table_rows = table1.find_elements_by_tag_name('tr')
3.获取总列数(也就是tr标签下面的th标签个数)
#html源码<tr><th>姓名</th><th>性别</th></tr>#selenium操作源码:第一个tr标签下有多少个th
table_rows = table_rows[0].find_elements_by_tag_name('th')
4.获取单个cell值
#selenium操作源码:第一行第二列的text值row1_col2 = table_rows[1].find_elements_by_tag_name('td')[1].text
5.取值比对~