12.5
UI自动化测试Keys类实战
在UI的自动化测试中,会遇到键盘事件的操作,使用到的类为Keys,导入方式如下:
from selenium.webdriver.common.keys import Keys
回车
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time as t
'''键盘事件'''
# 回车
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
so=driver.find_element_by_id('kw')
t.sleep(3)
so.send_keys('五岳')
t.sleep(3)
so.send_keys(Keys.ENTER)
t.sleep(5)
driver.quit()
键盘快捷键
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time as t
'''键盘事件'''
# 回车
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
so=driver.find_element_by_id('kw')
t.sleep(3)
so.send_keys('五岳')
t.sleep(3)
# 全选
so.send_keys(Keys.CONTROL,'a')
t.sleep(3)
# 复制
so.send_keys(Keys.CONTROL,'c')
t.sleep(3)
# 全部删除
so.send_keys(Keys.BACKSPACE)
t.sleep(3)
# 粘贴
so.send_keys(Keys.CONTROL,'v')
t.sleep(3)
# 回车
so.send_keys(Keys.ENTER)
t.sleep(5)
driver.quit()
浏览器的滑动
from selenium import webdriver
import time as t
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://hao123.com')
driver.find_element_by_name('word')
driver.implicitly_wait(30)
t.sleep(3)
# 向下滑动
down="var q=document.documentElement.scrollTop=10000"
driver.execute_script(down)
t.sleep(5)
#向上滑动
up="var q=document.documentElement.scrollTop=0"
t.sleep(5)
driver.execute_script(up)
driver.quit()
搜索后页面滑动
from selenium import webdriver
import time as t
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://baidu.com')
driver.implicitly_wait(30)
t.sleep(3)
driver.find_element_by_id('kw').send_keys('五岳')
driver.find_element_by_id('su').click()
t.sleep(3)
# 向下滑动
down="var q=document.documentElement.scrollTop=10000"
driver.execute_script(down)
t.sleep(5)
#向上滑动
up="var q=document.documentElement.scrollTop=0"
t.sleep(5)
driver.execute_script(up)
driver.quit()
富文本
框架id
![]()
![]()
from selenium import webdriver
import time as t
driver=webdriver.Chrome()
driver.get('https://uutool.cn/ueditor/')
driver.maximize_window()
driver.implicitly_wait(30)
driver.switch_to.frame('ueditor_0')
t.sleep(3)
driver.find_element_by_xpath('/html/body/p').send_keys('测试富文本')
t.sleep(3)
driver.quit()
实现在富文本里面输入内容
param driver: webdriver实例化后的对象信息
param content: 富文本里面需要输入的文字内容
return:
from selenium import webdriver
import time as t
def richText(driver,content):
js="document.getElementById('ueditor_0').contentWindow.document.body.innerHTML='{0}'".format(content)
driver.execute_script(js)
driver=webdriver.Chrome()
driver.get('https://uutool.cn/ueditor/')
driver.maximize_window()
driver.implicitly_wait(30)
t.sleep(3)
richText(driver=driver,content='使用JS来进行处理')
t.sleep(3)
driver.quit()
时间控件
from selenium import webdriver
import time as t
def startTime(driver,content):
'''开始时间控件'''
js="$(\"input[placeholder='开始时间≥当前时间']\").removeAttr('readonly');" \
"$(\"input[placeholder='开始时间≥当前时间']\").attr('value','{0}')".format(content)
driver.execute_script(js)
def endTime(driver,content):
'''结束时间控件'''
js="$(\"input[placeholder='结束时间>开始时间']\").removeAttr('readonly');" \
"$(\"input[placeholder='结束时间>开始时间']\").attr('value','{0}')".format(content)
driver.execute_script(js)
driver=webdriver.Chrome()
driver.get('file:///C:/Users/%E6%A7%91/AppData/Local/Temp/Rar$EXa15004.8662/Time/index.html')
driver.maximize_window()
driver.implicitly_wait(30)
startTime(driver=driver,content='2021.12.3 00:00:00')
t.sleep(3)
endTime(driver=driver,content='2012.12.5 12:00:00')
t.sleep(3)
driver.quit()



浙公网安备 33010602011771号