selenium实战 二 进入博客园,上传图片并发帖

 1 #-*- coding:utf-8 -*-
 2 __author__ = "carry"
 3
 4 from selenium import webdriver
 5 import time
 6 import SendKeys
 7
 8 profileDir = r‘C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\odnvwnn4.default-1489915703574‘
 9 profile = webdriver.FirefoxProfile(profileDir)
10 driver = webdriver.Firefox(profile)
11
12 driver.implicitly_wait(30)
13 driver.get("http://www.cnblogs.com/lxs1314/")
14 driver.find_element_by_link_text("新随笔").click()
15 time.sleep(3)
16
17 # 点开编辑器图片
18 driver.find_element_by_css_selector("img.mceIcon").click()
19 time.sleep(3)
20 # 定位所有iframe,取第二个
21 print driver.find_elements_by_tag_name(‘iframe‘)
22 iframe = driver.find_elements_by_tag_name(‘iframe‘)[1]
23 # 切换到iframe上
24 driver.switch_to.frame(iframe)
25 # 文件路径
26 time.sleep(2)
27 driver.find_element_by_class_name("qq-upload-button").click()
28 # driver.find_element_by_name("file").click()
29 time.sleep(5)
30 # SendKeys方法输入内容
31 SendKeys.SendKeys("D:\\1.jpg")
32 time.sleep(1)
33 SendKeys.SendKeys("{ENTER}")# 发送回车键
34 time.sleep(1)
35 SendKeys.SendKeys("{ENTER}")# 因为我的电脑是搜狗输入法,所以多敲一次回车
36 #js="var q=document.getElementById(‘id‘).scrollTop=10000"
37 #js = "var q=document.documentElement.scrollTop=10000"
38
39 time.sleep(1)
40
41 driver.switch_to.default_content()
42 #将页面滚动条拖到底部
43 js="var q=document.documentElement.scrollTop=10000"
44 driver.execute_script(js)
45 time.sleep(3)
46
47 driver.find_element_by_css_selector("#Editor_Edit_lkbPost").click()
48 driver.switch_to.alert().accept()
49 driver.quit()
时间: 2024-11-07 05:32:49

selenium实战 二 进入博客园,上传图片并发帖的相关文章

C#项目中使用 Selenium + PhantomJS 模拟登录博客园

Selenium selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium PhantomJS PhantomJS是一个基于webkit的javascript API.它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码.任何你可以在基于webkit浏览器做的事情,它都能做到.它不仅是个隐形的浏览器,提供了诸如CSS选择器.支持Web标准.DOM操作.JSON.html5.Canvas.SVG等,同时也提供了

Python 使用selenium实现自动登录博客园

需要做的准备: 本文章是使用Chrome,所以需要Chormedriver.exe,具体的下载过程可以百度查到 Selenium是一种自动化测试工具,能模拟浏览器的行为,所以今天我就模拟一下浏览器登陆博客园的行为. 首先,分析问题,登陆博客园需要做些什么: 1.打开浏览器 2.输入博客园主页的网址 3.点击登陆按钮,等待页面跳转 4.输入账号密码,点击登陆 知道了步骤,接下来我们用代码来实现它:from selenium import webdriverimport time#创建登陆类 fro

Spark窗口(开窗)函数(二)--博客园

   DT大数据梦工厂由王家林老师及其团队打造,旨在为社会培养100万优秀大数据人才,Spark已是目前大数据行业主流数据处理框架和未来趋势. 关注DT大数据梦工厂公众号: DT_Spark 查看免费公开课,内容绝对详细. YY永久免费直播频道:68917580 王家林老师联系方式:    本篇文章摘抄自CSDN   深入浅出谈开窗函数(一) 作者:黎明前的黑暗    在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成.为了解决这些问题,在

MySql链表语句--博客园老牛大讲堂

为什么链表?--博客园老牛大讲堂 因为表与表之间有关系,而且查询时需要两张表的某些数据. 链表的前提是:表与表之间必须设置主外键吗? 不是的,其实表与表之间不需要设置主外键关系,用数据库语句就可以实现链表查询,删除,修改,增加等操作. 为什么要设置主外键呢? 通常我们看到表与表之间有关系,常常设置主外键.为什么?其实这样做是为了规范!假设一个不了解你表结构的人,都能够任意的修改你的外键.那这个表就不严谨了. 我们到底设不设主外键呢? 分情况:1.如果表结构简单,少量的表.逻辑不复杂.那么这个就不

BBS(仿博客园系统)项目05(后台管理功能实现:文章添加、富文本编辑器使用、xss攻击、BeautifulSoup4模块、富文本编辑器上传图片、修改头像)

摘要 布局框架搭建 随笔添加 后台管理富文本编辑器KindEditor xss攻击 文章简介的截取,BeautifulSoup4模块 富文本编辑器上传图片 头像修改 一.后台管理框架布局搭建 后台管理布局框架分析:导航条.左侧功能区.右侧主要功能显示和实现区 实现: 导航条:使用bootstrap模板:JavaScript>>导航条 左侧:使用bootstrap模板:组件>>列表组 右侧:使用bootstrap模板:JavaScript>>标签页 新建后台管理路由(注意

Android 博客园客户端 (二) 新界面&部分功能

重新创建项目(Android 4.2.2+):https://github.com/ZhangTingkuo/AndroidCnblogs.git 原项目(Android 4.1.2+):https://github.com/ZhangTingkuo/Cnblogs.git 原项目的界面看着很不爽,就只写了部分功能,然后决定重新设计界面,并把这部分功能添加进来,然后继续进行开发. 已经完成博客列表部分的显示 第一次做一个android项目,只为兴趣. 很多东西看起来貌似很简单,但是真的做的时候就

安卓开发笔记——打造属于自己的博客园APP(二)

在上一篇文章<安卓开发笔记——打造属于自己的博客园APP(一)>中,我们基本上实现了博客园的主体UI框架(后面可能会有些小变化,等遇到了再说).今天来讲讲博客园首页模块的大体实现,国际惯例,先来看下效果图: 整体UI效果: 下拉刷新和上拉加载的动画效果: 在上篇文章中,我们定义的Tabs主题文字分别是(首页,精华,候选,推荐),这边的命名我是根据博客园网站首页的栏目来命名的,那时候我还没仔细看过博客园的开放接口,后来才发现原来博客园没有对应开放这些栏目的接口,博客园只开放了(文章列表,48小时

爬虫实战【1】使用python爬取博客园的某一篇文章

第一次实战,我们以博客园为例. Cnblog是典型的静态网页,通过查看博文的源代码,可以看出很少js代码,连css代码也比较简单,很适合爬虫初学者来练习. 博客园的栗子,我们的目标是获取某个博主的所有博文,今天先将第一步. 第一步:已知某一篇文章的url,如何获取正文? 举个栗子,我们参考'农民伯伯'的博客文章吧,哈哈.他是我关注的一个博主. http://www.cnblogs.com/over140/p/4440137.html 这是他的一篇名为"[读书笔记]长尾理论"的文章. 我

潜移默化学会WPF--Command(命令)学习(二) - AYUI框架 - 博客园

原文:潜移默化学会WPF--Command(命令)学习(二) - AYUI框架 - 博客园 2. 基本功 2.1 先看一段代码 前台页面上的 1 <Window x:Class="Commands.SimpleDocument" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winf