Splinter学习--模拟攥写博客园随笔
2016-02-02 18:31
246 查看
为了验证Splinter的多种动作,这里将使用Splinter模拟博客园里面新增随笔的操作。
第一步:登录博客园,方法同Splinter学习--初探2,模拟博客园登录
第二步:跳转到“添加随笔”界面,跳转步骤为点击“我的博客” --> “新随笔“
这里通过 find_link_by_text(text)方法查找相应链接,然后点击,如:
browser.find_link_by_text("我的博客").first.click()
等价于 browser.click_link_by_text("我的博客")
第三步:填写标题/内容等
通过审查元素获取要填写或选择内容对应的页面元素,分别进行操作。
1)标题
直接找到其对应元素的ID为Editor_Edit_txbTitle,然后利用fill()方法进行填写
2)内容
内容区域对应一个ID为Editor_Edit_EditorBody_ifr的iframe,且该iframe中内嵌的html文档仅有head和body,而body中在输入内容后会进行动态填充,如下图:
博客园模拟添加随笔
第一步:登录博客园,方法同Splinter学习--初探2,模拟博客园登录
第二步:跳转到“添加随笔”界面,跳转步骤为点击“我的博客” --> “新随笔“
这里通过 find_link_by_text(text)方法查找相应链接,然后点击,如:
browser.find_link_by_text("我的博客").first.click()
等价于 browser.click_link_by_text("我的博客")
第三步:填写标题/内容等
通过审查元素获取要填写或选择内容对应的页面元素,分别进行操作。
1)标题
直接找到其对应元素的ID为Editor_Edit_txbTitle,然后利用fill()方法进行填写
2)内容
内容区域对应一个ID为Editor_Edit_EditorBody_ifr的iframe,且该iframe中内嵌的html文档仅有head和body,而body中在输入内容后会进行动态填充,如下图:
def get_publish_page(self): """ 跳转到"添加随笔"页面 :return: """ if self.browser is None: return else: # self.browser.find_by_id("header_user_right").first.find_by_xpath("a") self.browser.click_link_by_text("我的博客") # <==> self.browser.find_link_by_text("我的博客").first.click() time.sleep(3) self.browser.find_link_by_text("新随笔").first.click() def write_blog(self): """ 简单写一个博客 :return: """ # 标题 self.browser.find_by_id("Editor_Edit_txbTitle").first.fill("Splinter Study") # 填写内容 with self.browser.get_iframe("Editor_Edit_EditorBody_ifr") as iframe: # iframe.find_by_xpath("browserody").first.fill("Writing success?") iframe.execute_script('document.getElementById("tinymce").innerHTML = "<p>Hello world!</p><p>First Splinter test!</p>"') # 编程语言选中python self.browser.find_by_id("Editor_Edit_APOptions_APSiteCategory_Link").click() time.sleep(1) self.browser.find_by_id("site_categroy_108696").first.check() self.browser.find_by_id("site_categroy_108737").first.check() # 不显示在首页,不允许评论 self.browser.find_by_id("Editor_Edit_Advanced_chkDisplayHomePage").first.uncheck() self.browser.find_by_id("Editor_Edit_Advanced_chkComments").first.uncheck() # 存为草稿 self.browser.find_by_id("Editor_Edit_lkbDraft").first.click()
博客园模拟添加随笔
相关文章推荐
- HashMap和HashTable的区别
- 持盈履满,君子兢兢
- app crash率的标准
- 6 继承
- VS2013出现应用程序无法正常启动
- java web 获取客户端真实IP
- IE10修改select样式
- ||C||<基础>C语言基础知识框架结构//个人整理使用|仅供参考|
- django 的几个操作指令及错误解决方法
- Tomcat配置SSL
- 最简单的ListView
- 堆排序模板
- <2016-2-2 总结>
- POJ-1475-Pushing Boxes(BFS)
- android获取音频、视频、图片信息
- java1.8的几大新特性(二)
- SWOOLE异步REDIS安装
- GIT和SVN之间的五个基本区别
- js常用几种类方法实现
- 饱后思味