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

2.22 JS处理富文本

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

2.22 JS处理富文本

51Testing软件测试网o-G+nl7U9zsD9[0tg

前言
/Z}$@0r9t9Hw1lk/IZ0    <富文本>这篇解决了富文本上iframe问题,其实没什么特别之处,主要是iframe的切换,本篇讲解通过js的方法处理富文本上iframe的问题
5d}NA?1Zl'z NFd0一、加载配置51Testing软件测试网1ET|\EsZ
    1.打开博客园写随笔,首先需要登录,这里为了避免透露个人账户信息,我直接加载配置文件,免登录了。
y"~G&BJ"R0      不懂如何加载配置文件的,看加载firefox配置

0a\-gW{:\W:Q051Testing软件测试网zKN a]W7^

r&D7DM'[~)}/B0

nV1L&Ama1KKEXn0二、打开编辑界面51Testing软件测试网 E|9H_Jv,z*WT
    1.博客首页地址:bolgurl = "http://www.cnblogs.com/"
] e@2Lt`&Vw GX0    2.我的博客园地址:yoyobolg = bolgurl + "yoyoketang"
Amw@*_P7|0    3.点击“新随笔”按钮,id=blog_nav_newpost

c4?1sNd(a%Pj-\0

E9H8i5r SR'G,Y0

Wc\q)BA1fjR D051Testing软件测试网9Y!Q'XS-z(OF

三、定位iframe51Testing软件测试网)m r0m Ld(u$P n {
    1.打开编辑界面后先不要急着输入内容,先sleep几秒钟
*]rO1al0    2.输入标题,这里直接通过id就可以定位到,没什么难点51Testing软件测试网\WDl pFo]
    3.接下来就是重点要讲的富文本的编辑,这里编辑框有个iframe,所以需要先切换

#f5Uf(b$N9z*_051Testing软件测试网 V(^0gw0eH$o]6Ff4`~

51Testing软件测试网W4SUN9_kw PJ

*_c| @ m_i`%d0 51Testing软件测试网 dL\`Fm@

51Testing软件测试网&N"n j]h

 四、js输入中文
*P0\NI5Xbk~0    1.这里定位编辑正文是定位上图的红色框框位置body部分,也就是id=tinymce

Y hPq@ nT2N0

#ij}!Kd.W_"g0    2.定位到之后,用js的方法直接输入,无需切换iframe

meJZ?e6t(}0

i'Fh?l0    3.直接点保存按钮,无需再切回来

#|D3{ Lh\DP fP$D$@r0

2F*O4k(c*G#a.g ^'mA0

[5UMc}"SL+kz0

8Z9O;Rm6lq0五、参考代码:51Testing软件测试网 ju'a^ H'V `#D%^

复制代码
#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