zoukankan      html  css  js  c++  java
  • elenium2学习(十六)-- 富文本(自动发帖)

    前言

         富文本编辑框是做web自动化最常见的场景,有很多小伙伴遇到了不知道无从下手,本篇以博客园的编辑器为例,解决如何定位富文本,输入文本内容

    一、加载配置

        1.打开博客园写随笔,首先需要登录,这里为了避免透露个人账户信息,我直接加载配置文件,免登录了。

          

    二、打开编辑界面

        1.博客首页地址:bolgurl = "http://www.cnblogs.com/"

        2.我的博客园地址:yoyobolg = bolgurl + "wanghaihong200"

        3.点击“新随笔”按钮,id=blog_nav_newpost

    三、iframe切换

        1.打开编辑界面后先不要急着输入内容,先sleep几秒钟

        2.输入标题,这里直接通过id就可以定位到,没什么难点

        3.接下来就是重点要讲的富文本的编辑,这里编辑框有个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:UsersGloriaAppDataRoamingMozillaFirefoxProfiles1x41j9of.default'
    profile = webdriver.FirefoxProfile(profileDir)
    driver = webdriver.Firefox(profile)

    bolgurl = "http://www.cnblogs.com/"
    wang= bolgurl + "wanghaihong200"
    driver.get(wang)
    driver.find_element_by_id("blog_nav_newpost").click()

    time.sleep(5)
    edittile = u"富文本编辑框"
    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)

  • 相关阅读:
    ThinkPad R400 windows 2008 下网卡、蓝牙驱动程序安装过程记录
    google 小百货工具
    今天发现数据库到处都有,还是学习一种比较好
    今天玩玩Android == 了解一下
    p 同学推荐的 书 读完了 == 感慨颇深,霍霍
    new confirm and new idea == need time
    娑罗双树,半枯半荣,娑罗花开,盛者必衰
    使用VC6.0 连接PostgreSQL数据库
    vc6操作PostgreSQL 测试下异步通知接口
    准备这几天看的内容
  • 原文地址:https://www.cnblogs.com/wanghaihong200/p/8466898.html
Copyright © 2011-2022 走看看