2.15 富文本(richtext)

2.15 富文本(richtext)

前言
     富文本编辑框是做web自动化最常见的场景,有很多小伙伴不知从何下手,本篇以博客园的编辑器为例,解决如何定位富文本,输入文本内容
一、加载配置
    1.打开博客园写随笔,首先需要登录,这里为了避免透露个人账户信息,我直接加载配置文件,免登录了。
      

二、打开编辑界面
    1.博客首页地址:bolgurl = "http://www.cnblogs.com/"
    2.我的博客园地址:yoyobolg = bolgurl + "yoyoketang"
    3.点击“新随笔”按钮,id=blog_nav_newpost

三、iframe切换
    1.打开编辑界面后先不要急着输入内容,先sleep几秒钟
    2.输入标题,这里直接通过id就可以定位到,没什么难点
    3.接下来就是重点要讲的富文本的编辑,这里编辑框有个iframe,所以需要先切换

(关于iframe不懂的可以看前面这篇:<iframe>)

 四、输入正文
    1.这里定位编辑正文是定位上图的红色框框位置body部分,也就是id=tinymce

    2.定位到之后,直接send_keys()方法就可以输入内容了

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

五、参考代码:

复制代码
# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys import time profileDir = r'C:\Users\Gloria\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)
driver.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)
复制代码

猜你喜欢

转载自www.cnblogs.com/lunvo/p/9183050.html
今日推荐