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

2.15 富文本(richtext)

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

2.15 富文本(richtext)

b,A!wP8[ UD#`8a#j0前言51Testing软件测试网pA2`H0SZ!m
     富文本编辑框是做web自动化最常见的场景,有很多小伙伴不知从何下手,本篇以博客园的编辑器为例,解决如何定位富文本,输入文本内容51Testing软件测试网va Q r6JO.SS#l9o|#e
一、加载配置51Testing软件测试网 gGx8[B8G5S{ E wS
    1.打开博客园写随笔,首先需要登录,这里为了避免透露个人账户信息,我直接加载配置文件,免登录了。
9Q@Bj d2T_0      

$^$F5w?\-yp5L0

U`7Zu/Zl@ r0二、打开编辑界面
_1m0\\ Na0l0    1.博客首页地址:bolgurl = "http://www.cnblogs.com/"51Testing软件测试网 ^i,w"|8~I1O} t
    2.我的博客园地址:yoyobolg = bolgurl + "yoyoketang"51Testing软件测试网8{F|9IK{-Z
    3.点击“新随笔”按钮,id=blog_nav_newpost

%ckbh2D051Testing软件测试网!SO!`8Da}

wa!V(nw&T&z-u'@051Testing软件测试网M~v&g7['cW3lP

三、iframe切换
:A ^1`1HIWb U0    1.打开编辑界面后先不要急着输入内容,先sleep几秒钟
@ Za!uG2V0    2.输入标题,这里直接通过id就可以定位到,没什么难点51Testing软件测试网g'r"j]#QF e&Nf'b
    3.接下来就是重点要讲的富文本的编辑,这里编辑框有个iframe,所以需要先切换51Testing软件测试网#yV/M@Jp h;f

*|&yrz0n.W6I8q*g0(关于iframe不懂的可以看前面这篇:<iframe>)

6x(up L Xf0

9@zV K5Fc*GcW0

+wSc(r q/~|051Testing软件测试网*w]C`$S%v%d

 

z].\ul"hH N051Testing软件测试网sp8w _"kfYT,b

 四、输入正文
R~iKVZ ?E0    1.这里定位编辑正文是定位上图的红色框框位置body部分,也就是id=tinymce51Testing软件测试网3J!`nIp j*Tq9aR

51Testing软件测试网'Y+qA;o'}-Sy5DT

    2.定位到之后,直接send_keys()方法就可以输入内容了51Testing软件测试网t!ZoGM*k

51Testing软件测试网a%q1^G'K;kA'{

    3.有些小伙伴可能输入不成功,可以在输入之前先按个table键,send_keys(Keys.TAB)

NW]m&c9x#_0

L.h:h.inO2Bh;i|0

rc f'o z p6A051Testing软件测试网$N+C6M~8G

五、参考代码:51Testing软件测试网HrV(ATr(c.o4~:E yK

复制代码
#coding:utf-8fromseleniumimportwebdriverfromselenium.webdriver.common.keysimportKeysimporttime
profileDir= r'C:\Users\Gloria\AppData\Roaming\Mozilla\Firefox\Profiles\1x41j9of.default'profile=webdriver.FirefoxProfile(profileDir)
driver=webdriver.Firefox(profile)51Testing软件测试网RSA3SyhEV
bolgurl
="http://www.cnblogs.com/"yoyobolg= bolgurl +"yoyoketang"driver.get(yoyobolg)51Testing软件测试网K/l.lO@ ?*w
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)
3V6Nj,o PuJ+uxG0driver.switch_to.frame(
"Editor_Edit_EditorBody_ifr") driver.find_element_by_id("tinymce").send_keys(Keys.TAB) driver.find_element_by_id("tinymce").send_keys(editbody)
复制代码

TAG:

 

评分:0

我来说两句

Open Toolbar