selenium实战-自动退百度云共享群
必备知识
在官网上下好selenium-3.0.1-py2.py3-none-any.whl,然后进入下载文件所在的位置
pip install selenium-3.0.1-py2.py3-none-any.whl
再下个Chrom的驱动,具体可以参考虫师的博客
Selenium快速入门
1. 需要的模块和基本操作
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
其中webdriver 用来打开浏览器,ActionChains是用来控制浏览器的一些操作
2. 访问网络
driver.get('http://pan.baidu.com')
3. 在当前页面输入账号、密码、验证码
这里很6的地方在于只要始终在当前窗口操作,脚本里的driver和你所改动的操作是同步的,省去了很多事
4. 获得浏览器的焦点,用来模拟鼠标
mouse = ActionChains(driver)
5. 必备知识
5.1 定位元素
element = driver.find_element_by_xpath(' ')
element = driver.find_element_by_css_selector()
element = driver.find_element_by_id()
element = driver.find_element_by_name()
element = driver.find_element_by_class_name()
按个人经验,在谷歌浏览器按F12后右键copy可以复制xpath或css_selector,比较方便,而id、name、class_name在定位按钮、文本框时比较有用
5.2 浏览器操作
看很多教程里都是说控制鼠标,个人觉得应该说模拟鼠标或控制浏览器焦点更合适,因为鼠标根本没动嘛,只有焦点改变了。
context_click() # 右击
double_click() # 双击
drag_and_drop() # 拖动 element = driver.find_element_by_...
# 在某个元素上右击
ActionChains(driver).contex_click(element).perform()
# 移动到某个元素上
ActionChains(driver).move_to_element(element).perform()
# 在某个元素上左击
ActionChains(driver).click(element).perform()
# 滚动
driver.execute_script("window.scrollBy(dx, dy)", "")
# 偏移
ActionChains(driver).move_by_offset(dx, dy).perform()
# 左击
ActionChains(driver).click().perform()
6. 执行脚本
# 移到好友并点击
friend = driver.find_element_by_css_selector('#body > div > div > div > div.module-sectionLists > ul > li.tabs-item.friend-item > a > em')
mouse.move_to_element(friend).perform()
mouse.click().perform() # 移动到好友下方的第一个群组并点击
driver.implicitly_wait(5)
while 1:
try: mouse.move_to_element(friend).perform()
mouse.move_by_offset(0, 116).perform()
mouse.click().perform()
time.sleep(0.1)
# 分享文件按钮
fenx = driver.find_element_by_xpath('//*[@id="body"]/div/div/div/div[2]/div[2]/div/div/a')
fenx.click()
time.sleep(0.1)
# 选中了下拉标签
driver.find_element_by_xpath('//*[@id="body"]/div/div/div/div[2]/h2/div[1]/div/span').click()
time.sleep(0.1)
# 退群按钮
time.sleep(0.1)
driver.find_element_by_class_name('group-exit-btn').click()
# 确认按钮
time.sleep(0.1)
driver.find_element_by_css_selector('#_disk_id_26').click()
except StandardError, e:
time.sleep(1)
selenium实战-自动退百度云共享群的更多相关文章
- python实现简单的百度云自动下载
最近女同让我帮助从百度云下载200个文件,给了我连接和提取码,这种重复的工作不适合人做写了一个简单的爬虫 #coding=utf-8 ''' 自动填写提取码下载百度云资源 方法: for 读取文件中的 ...
- 黄聪:VPS实现自动定时备份网站数据以及Mysql数据库到百度云同步盘
建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于前功尽弃了,所以自己研究出了一套自动备份的方法. 需要的东西: 1.一个VPS(虚拟空间没 ...
- http跳转https方法:百度云如何让http自动跳转到https【免费SSL证书使用FAQ】
之前的一篇文章已经给大家提供了免费SSL证书的申请方法,这一篇文章是告诉大家在使用免费的SSL证书时可能会遇到的问题[怎么让http自动跳转到https以及http与https同时使用]的解决方法. ...
- python+selenium+chrome实现自动登录百度
#python3.4+selenium3.5+chrome版本 63.0.3239.132+chrome驱动chromedriver.exe #实现自动登录百度 from selenium impor ...
- 群福利:百度云管家-本地SVIP
效果 如果不想登录破解版的百度云(防止泄密)==>复制AppSettingApp.dat和users文件夹,这样你就可以免登录了 最稳定版本:https://yunpan.cn/cBTQc9Iu ...
- 调用百度云Api实现从百度云盘自动下载文件
一.注册账号 要从百度云下载文件,首先,注册一个百度云账号,现在可能都要注册手机号啦,当然,如果你已经注册过,很幸运,就可以省略掉此步骤啦. 如图登录后所示: 点击Access Key,即显示上面的图 ...
- 《Apache kafka实战》读书笔记-kafka集群监控工具
<Apache kafka实战>读书笔记-kafka集群监控工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如官网所述,Kafka使用基于yammer metric ...
- 百度云曲显平:AIOps时代下如何用运维数据系统性地解决运维问题?
百度云智能运维负责人 曲显平 本文是根据百度云智能运维负责人曲显平10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族技术开放日<百度云智能运维实践>演讲中的分享内容整理而 ...
- 最近建了一个.net源码共享群,群共享有大量网友分享的.net(C#)商业源码
.net源码共享群 324087998. 本群创建于2013/6/21: 群里都是.net(C#)程序开发人员,群共享有大量网友分享的.net(C#)商业源码.比如:DTCMS旗舰版,hishop微分 ...
随机推荐
- ZPF MYSQL数据库链接层
2015年3月31日 18:27:34 最后编辑: 2016年4月17日 00:22:00 星期日 读写分离: 根据最终的sql语句来判断是读还是写 (随后会考察并加上一致性哈希) 链式调用: 参看 ...
- iOS AES加密解密实现方法
使用方法 先导入头文件 #import "NSData+AES.h" //AES测试 //用来密钥 NSString *key = "; //用来发送的原始数据 NSSt ...
- 我刚知道的WAP app中meta的属性(转载)
之前我一直做的都是WEB前端开发,来北京以后面试了一个移动前端开发,WAP前端开发. 其实在原来公司的时候也做过这方面的开发,可面试的时候面试官问我,要想强制让文档与设备的宽度保持1:1,mate标签 ...
- 【leetcode】Edit Distance (hard)
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...
- 20145213 《Java程序设计》实验四 Android开发基础
20145213 <Java程序设计>实验四 Android开发基础 说在前面的话 不同以往实验,对于这次实验具体内容我是比较茫然的.因为点我,打开实验四的链接居然能飘出一股熟悉的味道,这 ...
- py随笔
while true,无限循环 str.isdigit判断是不是数字 +只能在两个两个相同的类型之间执行 iter(i)将i加入迭代器
- nodejs链接mongodb数据库
nodeJs链接mongodb数据库有两种方式,第一种是利用官方自己开发的npm包mongodb链接,第二种是利用第三方npm包mongoose链接:这里如果是window操作系统,建议用mongoo ...
- MFC添加菜单事件
双击draw.rc,就能看到.
- Tomcat在Linux上的安装与配置
以下使用的Linux版本为: Redhat Enterprise Linux 6.5 x86_64,Tomcat版本为tomcat-7.0.54. 1.下载JDK与Tomcat. jdk下载地址 ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...