2.22 JS处理富文本
2024-10-18 21:21:21
2.22 JS处理富文本
前言
<富文本>这篇解决了富文本上iframe问题,其实没什么特别之处,主要是iframe的切换,本篇讲解通过js的方法处理富文本上iframe的问题
一、加载配置
1.打开博客园写随笔,首先需要登录,这里为了避免透露个人账户信息,我直接加载配置文件,免登录了。
不懂如何加载配置文件的,看加载firefox配置
二、打开编辑界面
1.博客首页地址:bolgurl = "http://www.cnblogs.com/"
2.我的博客园地址:yoyobolg = bolgurl + "yoyoketang"
3.点击“新随笔”按钮,id=blog_nav_newpost
三、定位iframe
1.打开编辑界面后先不要急着输入内容,先sleep几秒钟
2.输入标题,这里直接通过id就可以定位到,没什么难点
3.接下来就是重点要讲的富文本的编辑,这里编辑框有个iframe,所以需要先切换
四、js输入中文
1.这里定位编辑正文是定位上图的红色框框位置body部分,也就是id=tinymce
2.定位到之后,用js的方法直接输入,无需切换iframe
3.直接点保存按钮,无需再切回来
五、参考代码:
# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# profileDir路径对应直接电脑的配置路径
profileDir = r'C:\xxx\xxx\AppData\Roaming\Mozilla\Firefox\Profiles\1x41j9of.default'
profile = webdriver.FirefoxProfile(profileDir)
driver = webdriver.Firefox(profile)
bolgurl = "http://www.cnblogs.com/"
yoyobolg = bolgurl + "yoyoketang"
driver.get(yoyobolg)
driver.find_element_by_id("blog_nav_newpost").click()
time.sleep(5)
edittile = u"Selenium2+python自动化23-富文本"
editbody = u"这里是发帖的正文"
driver.find_element_by_id("Editor_Edit_txbTitle").send_keys(edittile)
body = "这里是通过js发的正文内容"
# js处理iframe问题(js代码太长了,我分成两行了)
js = 'document.getElementById("Editor_Edit_EditorBody_ifr")' \
'.contentWindow.document.body.innerHTML="%s"' % body
driver.execute_script(js)
# 保存草稿
driver.find_element_by_id("Editor_Edit_lkbDraft").click()
最新文章
- 【异常】java.lang.NoClassDefFoundError: com/lowagie/text/pdf/PdfContentByte
- 读javascript高级程序设计06-面向对象之继承
- CodeIgniter - 集成七牛云存储
- delphi非IE内核浏览器控件TEmbeddedChrome下载|TEmbeddedChrome代码
- 将 Java Spring Framework 应用程序迁移到 Windows Azure
- 会话跟踪Cookie与Session
- 结对编程1-四则运算(基于GUI)
- Java集合详解及List源码分析
- Ceph mimic
- 记录Vim常用命令
- Magento2自定义命令
- 寻找遗失的tags
- 解题(GoUpstairs -- 上楼梯)
- Java学习笔记四:三目运算符与字符串连接符等
- 牛刀小试MySQL--GTID
- bootstrap中的行和列布局
- Hadoop生态集群之HDFS
- Mysql date,datetime的区别以及相互转换
- C#截取字符串按字节截取SubString
- jQuery事件处理(三)
热门文章
- Windows与Linux端口占用查询及处理
- java.lang.Exception: DEBUG STACK TRACE for PoolBackedDataSource.close().
- OSS 实例
- 【转】你必须知道的EF知识和经验
- JBOSS禁用delete和put方法教程
- etymon word flower bee apiary forget out~1
- Java ip地址查询,根据ip接口获得ip所在省市区,邮编,运营商等
- error: http://ppa.launchpad.net lucid Release: The following signatures couldn&#39;t be verified because
- window.open()打开页面
- flask使用配置文件