查看页面结构,编辑器嵌入iframe中
需要首先切换到iframe,调用封装好的方法
# iframe 切换
def switch_iframe(self, loc, timeout=20, poll_fre=0.5):
logger.info('iframe 切换操作:')
try:
# 切换 == index\name\id\WebElement
# loc = ('xpath','iframe路径')
# WebDriverWait(self.driver, timeout, poll_fre).until(
# EC.frame_to_be_available_and_switch_to_it(loc))
time.sleep(2)
iframe = self.get_element(loc)
self.driver.switch_to.frame(iframe)
time.sleep(0.5)
logger.info('iframe 切换成功')
使用js方法讲文本输入编辑器中
# 编辑器内容输入
def input_rich_txt(self,loc,value):
try:
element = self.get_element(loc)
# test_js = f'document.getElementsByTagName("{loc}").contentWindow.document.body.innerText="{value}";'
# test_js = f"document.querySelector('{loc}').contentDocument.querySelector('body').innerHTML='{value}'"
test_js = "if(arguments[0].contentEditable === 'true') {arguments[0].innerText = '%s'}" %value
self.driver.execute_script(test_js, element)
logger.info(f'富文本位置{loc}输入成功内容:{value}')
except:
logger.exception(f'富文本位置{loc}输入失败内容:{value}')
self.save_page_shot('富文本位置输入失败')
raise
用例设计参考