您的位置:首页 > 其它

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中在输入内容后会进行动态填充,如下图:

  

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()


博客园模拟添加随笔
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: