ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

UI自动化2

2022-06-28 20:03:21  阅读:237  来源: 互联网

标签:webdriver E5% driver element UI 自动化 sleep find


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有