UI自动化2
作者:互联网
UI自动化2
1、Webdriver类的常用方法
1.1清空clear
'''清空:clear'''
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# so=driver.find_element(By.ID,'kw')
# so.send_keys('admin')
# t.sleep(3)
# so.clear() #会清空发送的关键字
# t.sleep(3)
# driver.quit()
1.2获取元素属性的值
'''获取元素的值:get_attribute'''
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
so=driver.find_element(By.ID,'kw')
so.send_keys('UI自动化')
t.sleep(3)
print(so.get_attribute('value'))
t.sleep(3)
driver.quit()
1.3是否可编辑
'''is_enabled:是否可以编辑'''
# driver=webdriver.Chrome()
# driver.get('http://www.baidu.com')
# so=driver.find_element(By.ID,'kw')
# print(so.is_enabled())
# driver.quit()
1.4是否勾选
'''is_selected'''
# driver=webdriver.Chrome()
# driver.get('https://mail.sina.com.cn/')
# login=driver.find_element(By.ID,'store1')
# t.sleep(3)
# print(login.is_selected())
# t.sleep(2)
# login.click()
# t.sleep(3)
# print(login.is_selected())
# driver.quit()
1.5是否隐藏
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
about=driver.find_element(By.XPATH,'//*[@id="bottom_layer"]/div/p[1]/a')
print('关于百度是否可见:',about.is_displayed())
t.sleep(3)
driver.quit()
2、下拉框选择
2.1下拉框案例
主要就是用来操作下拉选择框。下拉框操作步骤:
(1)先导入Select类
(2)定位下拉框的元素属性
(3)对Select类进行实例化
(4)定位下拉框中的选项,也就是使用Select类进行实例化后的对象调用类里面的方法。
A、索引定位:select_by_index()
B、文本定位:select_by_visible_text()
C、value定位:select_by_value()
当互联网产品的下拉框选项不标准时,我们下拉框还是用常规的方式进行选项的定位,一般用xpath中的full xpath。
from selenium import webdriver
from selenium.webdriver.common.by import By
import time as t
from selenium.webdriver.support.select import Select
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('file:///F:/TestDev/code/testdev/Python%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/UI%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/select.html')
sel=driver.find_element(By.ID,'name')
select=Select(sel)
t.sleep(3)
# 按照索引
select.select_by_index(1)
# 按照value
select.select_by_value('python')
#按照文本方式
select.select_by_visible_text('python语言')
t.sleep(3)
driver.quit()
2.2下拉框实战
'''下拉框实战'''
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.lagou.com/')
t.sleep(3)
driver.find_element(By.ID,'search_input').send_keys('测试开发工程师')
t.sleep(3)
driver.find_element(By.ID,'search_button').click()
t.sleep(2)
driver.find_element(By.XPATH,'//*[@id="jobsContainer"]/div[2]/div[1]/div[1]/div[2]/div/ul/li[2]/div/div/ul[2]/li[1]').click()
t.sleep(5)
driver.quit()
3、弹出框:Alert类
Alert类是针对对弹出框的处理,主要包括alert警告框、Confirm确认框、Prompt消息对话框、它里面的方法为:
text:获取alert的文本信息P。
accept:是接受Confirm弹出框。
dismiss:是拒绝接受Confirm弹出框。
send_keys:是在Prompt消息对话框里面输入想要输入的内容。
3.1获取警告框文本信息
'''获取警告框文本信息'''
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.common.by import By
import time as t
driver=webdriver.Chrome()
driver.get('file:///F:/TestDev/code/testdev/Python%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/UI%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/%E8%AD%A6%E5%91%8A%E6%A1%86(1).html')
print(driver.switch_to.alert.text)
driver.quit()
3.2弹出框
'''弹出框'''
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('file:///F:/TestDev/code/testdev/Python%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/UI%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/%E7%A1%AE%E5%AE%9A%E6%B6%88%E6%81%AF(1).html')
driver.find_element(By.XPATH,'/html/body/center/input').click()
t.sleep(3)
driver.switch_to.alert.accept()
t.sleep(3)
#页面刷新
driver.refresh()
driver.find_element(By.XPATH,'/html/body/center/input').click()
t.sleep(3)
driver.switch_to.alert.dismiss()
t.sleep(3)
driver.quit()
3.3消息对话框
'''消息对话框'''
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('file:///F:/TestDev/code/testdev/Python%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/UI%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/%E6%B6%88%E6%81%AF%E5%AF%B9%E8%AF%9D%E6%A1%86(1).html')
t.sleep(3)
driver.find_element(By.XPATH,'/html/body/center/input').click()
t.sleep(3)
driver.switch_to.alert.send_keys('好好学习')
t.sleep(2)
driver.switch_to.alert.accept()
t.sleep(3)
driver.refresh()
t.sleep(3)
driver.find_element(By.XPATH,'/html/body/center/input').click()
t.sleep(3)
driver.switch_to.alert.send_keys('好好学习')
t.sleep(2)
driver.switch_to.alert.dismiss()
t.sleep(3)
driver.quit()
4、鼠标事件:ActionChains类
百度实例
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time as t
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
#鼠标事件的类进行实例化
action=ActionChains(driver=driver)
t.sleep(3)
#悬浮
setting=driver.find_element(By.XPATH,'//*[@id="s-usersetting-top"]')
action.move_to_element(setting).perform()
t.sleep(3)
#点击搜索设置
driver.find_element(By.XPATH,'//*[@id="s-user-setting-menu"]/div/a[1]/span').click()
t.sleep(3)
#点击'关闭'
driver.find_element(By.XPATH,'//*[@id="general"]/form/div/ul/li[4]/span[2]/span[2]/label').click()
t.sleep(3)
#点击保存设置
driver.find_element(By.XPATH,'//*[@id="se-setting-7"]/a[2]').click()
t.sleep(3)
#获取弹出框文本信息
text=driver.switch_to.alert.text
assert text=='已经记录下您的使用偏好' #进行断言判断
driver.quit()
标签:webdriver,E5%,driver,element,UI,自动化,sleep,find 来源: https://www.cnblogs.com/XJY1/p/16420843.html