测试必须在时间、质量和成本之间获取一个平衡点,这是测试策略和测试设计的价值体现。

2.22 JS处理富文本

上一篇 / 下一篇  2018-06-12 10:54:16 / 个人分类:Python+Selenium2 WebDriver API

2.22 JS处理富文本

51Testing软件测试网kQ p#N/s ] f^2e,y'w

前言51Testing软件测试网[a H/@,[ B3m#^y
    <富文本>这篇解决了富文本上iframe问题,其实没什么特别之处,主要是iframe的切换,本篇讲解通过js的方法处理富文本上iframe的问题
+H#Z0L;f:moc~8\5x*}0一、加载配置51Testing软件测试网h hl2TQ#G1G
    1.打开博客园写随笔,首先需要登录,这里为了避免透露个人账户信息,我直接加载配置文件,免登录了。51Testing软件测试网dg;WT'a ~i.e,?
      不懂如何加载配置文件的,看加载firefox配置51Testing软件测试网#@.c"EK#e[

*\1q)HBBY/u.k0

Y R}(II|)Mj051Testing软件测试网'|Ps"t3r9n,c

二、打开编辑界面
Z2c9K4D_GPZ"h0y4o0    1.博客首页地址:bolgurl = "http://www.cnblogs.com/"51Testing软件测试网#rTW3F+fFU
    2.我的博客园地址:yoyobolg = bolgurl + "yoyoketang"51Testing软件测试网 Pa9c*_)p
    3.点击“新随笔”按钮,id=blog_nav_newpost51Testing软件测试网"Fad G+L `4D

_m(n(MmSi051Testing软件测试网!]`n|%B,P

gw4{ G6H7UH5?0三、定位iframe51Testing软件测试网Y_+N-Y4Y"T"Ok#a
    1.打开编辑界面后先不要急着输入内容,先sleep几秒钟51Testing软件测试网tv-U"Bn1Po\
    2.输入标题,这里直接通过id就可以定位到,没什么难点
8JzZ2Z0auPi0    3.接下来就是重点要讲的富文本的编辑,这里编辑框有个iframe,所以需要先切换51Testing软件测试网5O'r/f9Et

+{,Sk*Li(t051Testing软件测试网e3B#r4u_!A }

]kX:IWE7|,N0 51Testing软件测试网 X;F|K_0m

5@0Tm8i#JM-b0 四、js输入中文51Testing软件测试网e5FKw'c?
    1.这里定位编辑正文是定位上图的红色框框位置body部分,也就是id=tinymce51Testing软件测试网 ud@%hH,g)]h

51Testing软件测试网"k R m*}g

    2.定位到之后,用js的方法直接输入,无需切换iframe51Testing软件测试网0W8h^fR3A&rd

'ZUl{x0    3.直接点保存按钮,无需再切回来51Testing软件测试网W7f g ^6gm

J7x@I(a'r,?'S7P}051Testing软件测试网\Z z5]a2hd

VZFl2l0五、参考代码:51Testing软件测试网G#B.Jb]0}2p'_/b/I

复制代码
#coding:utf-8fromseleniumimportwebdriverfromselenium.webdriver.common.keysimportKeysimporttime#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()
复制代码

TAG:

 

评分:0

我来说两句

Open Toolbar