UI自动化测试(富文本的处理、时间控件)
一、富文本的处理
1、通过使用框架id
from selenium import webdriver
import time as t
#使用框架id
driver=webdriver.Chrome()
driver.get('https://uutool.cn/ueditor/')
driver.maximize_window()
driver.implicitly_wait(30)
#进入到iframe的框架
driver.switch_to.frame('ueditor_0') #iframe的id
t.sleep(3)
driver.find_element_by_xpath('/html/body/p').send_keys('阿斯顿法国红酒快乐')
t.sleep(3)
driver.quit()
2.通过js的方式
from selenium import webdriver
import time as t
#js的方式
def richText(driver,content):
'''
实现在富文本里面输入内容
:param driver: webdriver实例化后的对象信息
:param content: 富文本里面需要输入的文字内容
:return:
'''
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(5)
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:///Users/caiying/Documents/Time/index.html')
driver.maximize_window()
driver.implicitly_wait(30)
startTime(driver=driver,content='2021-12-05 00:00:00')
t.sleep(3)
endTime(driver=driver,content='2021-12-05 10:00:00')
t.sleep(3)
driver.quit()