Python——开发一个自动化微信投票器【附代码实例方法】
一个研究Python实践,最近研究一个投票的东东,主要是想测试利用Python实现刷微信投票。
本文纯粹为了记录一下 webdriver直接操作页面按钮的方法:
#!/usr/bin/python
#coding=utf-8
from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
import sys,time
reload(sys)
sys.setdefaultencoding('utf-8') desired_capabilities= DesiredCapabilities.PHANTOMJS.copy()
headers = {'Accept': '*/*',
'Accept-Language': 'en-US,en;q=0.8',
'Cache-Control': 'max-age=0',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36',#这种修改 UA 也有效
'Connection': 'keep-alive'
}
for key, value in headers.iteritems():
desired_capabilities['phantomjs.page.customHeaders.{}'.format(key)] = value
desired_capabilities['phantomjs.page.customHeaders.User-Agent'] ='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
driver= webdriver.PhantomJS(desired_capabilities=desired_capabilities)
url=''
driver.get(url) js = "var q=document.body.scrollTop=100000"
for i in range(10):
driver.execute_script(js)
time.sleep(0.1) print driver.find_element_by_xpath('//*[@id="201290753"]/div[2]/ul/li[1]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290753"]/div[2]/ul/li[1]/p/span/span').click()
print driver.find_element_by_xpath('//*[@id="201290816"]/div[2]/ul/li[2]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290816"]/div[2]/ul/li[2]/p/span/span').click() print driver.find_element_by_xpath('//*[@id="201290817"]/div[2]/ul/li[1]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290817"]/div[2]/ul/li[1]/p/span/span').click()
print driver.find_element_by_xpath('//*[@id="201290817"]/div[2]/ul/li[2]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290817"]/div[2]/ul/li[2]/p/span/span').click()
print driver.find_element_by_xpath('//*[@id="201290817"]/div[2]/ul/li[3]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290817"]/div[2]/ul/li[3]/p/span/span').click() print driver.find_element_by_xpath('//*[@id="201290818"]/div[2]/ul/li[1]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290818"]/div[2]/ul/li[1]/p/span/span').click()
print driver.find_element_by_xpath('//*[@id="201290818"]/div[2]/ul/li[2]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290818"]/div[2]/ul/li[2]/p/span/span').click()
print driver.find_element_by_xpath('//*[@id="201290818"]/div[2]/ul/li[3]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290818"]/div[2]/ul/li[3]/p/span/span').click()
print driver.find_element_by_xpath('//*[@id="201290818"]/div[2]/ul/li[4]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290818"]/div[2]/ul/li[4]/p/span/span').click() print driver.find_element_by_xpath('//*[@id="201290820"]/div[2]/ul/li[1]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290820"]/div[2]/ul/li[1]/p/span/span').click()
print driver.find_element_by_xpath('//*[@id="201290820"]/div[2]/ul/li[2]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290820"]/div[2]/ul/li[2]/p/span/span').click() print driver.find_element_by_xpath('//*[@id="201290821"]/div[2]/ul/li[4]/p/span').text
driver.find_element_by_xpath('//*[@id="201290821"]/div[2]/ul/li[4]/p/span').click()
print 'zhesHi 11111 777777777777777777777'
print driver.find_element_by_xpath('//*[@id="201290822"]/div[2]/ul/li[1]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290822"]/div[2]/ul/li[1]/p/span/span').click()
print driver.find_element_by_xpath('//*[@id="201290822"]/div[2]/ul/li[2]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290822"]/div[2]/ul/li[2]/p/span/span').click() print driver.find_element_by_xpath('//*[@id="201290824"]/div[2]/ul/li[2]/p/span/span').text
driver.find_element_by_xpath('//*[@id="201290824"]/div[2]/ul/li[2]/p/span/span').click()
print driver.find_element_by_xpath('//*[@id="201290825"]/div[2]/ul/li[2]/p/span').text
driver.find_element_by_xpath('//*[@id="201290825"]/div[2]/ul/li[2]/p/span').click()
print driver.find_element_by_xpath('//*[@id="201290826"]/div[2]/ul/li[2]/p/span').text
driver.find_element_by_xpath('//*[@id="201290826"]/div[2]/ul/li[2]/p/span').click() print driver.find_element_by_xpath('//*[@id="201290841"]/div[2]/div/div/input').text
driver.find_element_by_xpath('//*[@id="201290841"]/div[2]/div/div/input').send_keys(u'我是哥哥')
print driver.find_element_by_xpath('//*[@id="201290841"]/div[2]/div/div/input').text print driver.find_element_by_xpath('//*[@id="form_submit"]').text
driver.find_element_by_xpath('//*[@id="form_submit"]').click() time.sleep(2)
print driver.page_source driver.quit()
以上就是我的实践,更多可以参考:tp.gam7.com
Python——开发一个自动化微信投票器【附代码实例方法】的更多相关文章
- 使用python做一个IRC在线下载器
使用python做一个IRC在线下载器 1.开发流程 2.软件流程 3.开始 3.0 准备工作 3.1寻找API接口 3.2 文件模块 3.2.1 选择文件弹窗 3.2.2 提取文件名 3.2.2.1 ...
- python socket编程---从使用Python开发一个Socket示例说到开发者的思维和习惯问题
今天主要说的是一个开发者的思维和习惯问题. 思维包括编程的思维和解决一个具体问题的分析思维,分析思路,分析方法,甚至是分析工具. 无论是好习惯还是不好的习惯,都是在者一天一天的思维中形成的.那些不好的 ...
- 用python写一个自动化盲注脚本
前言 当我们进行SQL注入攻击时,当发现无法进行union注入或者报错等注入,那么,就需要考虑盲注了,当我们进行盲注时,需要通过页面的反馈(布尔盲注)或者相应时间(时间盲注),来一个字符一个字符的进行 ...
- Python进阶:函数式编程实例(附代码)
Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...
- 小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码)
小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码) Python 被称为是最接近 AI 的语言.最近一位名叫Anna-Lena Popkes的小姐姐在GitHub上分享了自己如何使用P ...
- Python开发一个简单的BBS论坛
项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...
- 【Python】神器:Streamlit,仅使用Python开发一个运维管理后台(不需要编写html,js,css)
背景 作为SRE,我们有很多很多自动化的工具,大部分都是自动运行的,还有一部分是CLI,我们一直苦于没有一个自己的管理后台网站,受限于前端能力薄弱,开发出来的网页只能说凑活能用,但是不好用. 现在我们 ...
- 用 python 实现一个多线程网页下载器
今天上来分享一下昨天实现的一个多线程网页下载器. 这是一个有着真实需求的实现,我的用途是拿它来通过 HTTP 方式向服务器提交游戏数据.把它放上来也是想大家帮忙挑刺,找找 bug,让它工作得更好. k ...
- Ruby与Python开发的环境IDE配置(附软件的百度云链接)
Ruby开发环境配置 1.Aptana_RadRails(提示功能不好,开发Ruby不推荐) 链接:http://pan.baidu.com/s/1i5q96K1 密码:yt04 2.Aptana S ...
随机推荐
- JVM的垃圾回收机制 总结(垃圾收集、回收算法、垃圾回收器)
相信和小编一样的程序猿们在日常工作或面试当中经常会遇到JVM的垃圾回收问题,有没有在夜深人静的时候详细捋一捋JVM垃圾回收机制中的知识点呢?没时间捋也没关系,因为小编接下来会给你捋一捋. 一. 技术 ...
- EHCache:Eelment刷新后,timeToLiveSeconds失效了?
个人以为只要设定了timeToLiveSeconds,中间过程不管有没有访问,只要LiveSeconds时间到了,缓存就会失效.但是开发时发现并非如此,经过一番折腾,最终发现自己的理解是正确的,还是使 ...
- Exif格式分析
转载链接: http://blog.csdn.net/simonhehe/article/details/8593354 http://blog.csdn.net/lsiyun/article/det ...
- Linux命令行下编辑常用的快捷键
Linux命令行编辑快捷键: Ctrl+r 然后输入若干字符,开始向上搜索包含该字符的命令,继续按Ctrl+r,搜索上一条匹配的命令,按Ctrl+c或上下键退出. Ctrl+l 清屏 !num 执行命 ...
- jquery 第二章
1.本章目标 css样式 选择器2.css样式 宽.高.边框.背景颜色.字体....... <html> <head> <style> div{ ...
- VS2010 开发 VB6.0 activeX控件 dll
项目源码 https://download.csdn.net/download/csdn_z_s/10427764 开发环境 操作系统: win7 64位 旗舰版 Java语言开发环境: Eclip ...
- HTTP 403 ,tomcat配置HTTPS,无法访问 返回状态码HTTP 403
为了将本机(windows系统)启动的应用以HTTPS的形式访问, 利用Keytool 生成证书之后.在tomcat的server.xml中将配置修改为如下: <Connector port=& ...
- LeetCode545.Boundary-of-Binary-Tree
1.头节点为边界节点 2.叶结点为边界节点 3.如果节点在其所在的层中是最左边或最右边,那么也是边界节点. 思路:分成三部分来做:找左边界结点.叶结点.右边界结点. 找左边界结点要遍历root的左子树 ...
- ssl证书专题(3):创建CA和申请证书
请看: https://www.cnblogs.com/mingzhang/p/8949541.html
- SpringBoot使用Sharding-JDBC分库分表
本文介绍SpringBoot使用当当Sharding-JDBC进行分库分表. 1.有关Sharding-JDBC 有关Sharding-JDBC介绍这里就不在多说,之前Sharding-JDBC是当当 ...