其他分享
首页 > 其他分享> > UI自动化2

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