必备知识

在官网上下好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实战-自动退百度云共享群的更多相关文章

  1. python实现简单的百度云自动下载

    最近女同让我帮助从百度云下载200个文件,给了我连接和提取码,这种重复的工作不适合人做写了一个简单的爬虫 #coding=utf-8 ''' 自动填写提取码下载百度云资源 方法: for 读取文件中的 ...

  2. 黄聪:VPS实现自动定时备份网站数据以及Mysql数据库到百度云同步盘

    建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于前功尽弃了,所以自己研究出了一套自动备份的方法. 需要的东西: 1.一个VPS(虚拟空间没 ...

  3. http跳转https方法:百度云如何让http自动跳转到https【免费SSL证书使用FAQ】

    之前的一篇文章已经给大家提供了免费SSL证书的申请方法,这一篇文章是告诉大家在使用免费的SSL证书时可能会遇到的问题[怎么让http自动跳转到https以及http与https同时使用]的解决方法. ...

  4. python+selenium+chrome实现自动登录百度

    #python3.4+selenium3.5+chrome版本 63.0.3239.132+chrome驱动chromedriver.exe #实现自动登录百度 from selenium impor ...

  5. 群福利:百度云管家-本地SVIP

    效果 如果不想登录破解版的百度云(防止泄密)==>复制AppSettingApp.dat和users文件夹,这样你就可以免登录了 最稳定版本:https://yunpan.cn/cBTQc9Iu ...

  6. 调用百度云Api实现从百度云盘自动下载文件

    一.注册账号 要从百度云下载文件,首先,注册一个百度云账号,现在可能都要注册手机号啦,当然,如果你已经注册过,很幸运,就可以省略掉此步骤啦. 如图登录后所示: 点击Access Key,即显示上面的图 ...

  7. 《Apache kafka实战》读书笔记-kafka集群监控工具

    <Apache kafka实战>读书笔记-kafka集群监控工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如官网所述,Kafka使用基于yammer metric ...

  8. 百度云曲显平:AIOps时代下如何用运维数据系统性地解决运维问题?

    百度云智能运维负责人 曲显平 本文是根据百度云智能运维负责人曲显平10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族技术开放日<百度云智能运维实践>演讲中的分享内容整理而 ...

  9. 最近建了一个.net源码共享群,群共享有大量网友分享的.net(C#)商业源码

    .net源码共享群 324087998. 本群创建于2013/6/21: 群里都是.net(C#)程序开发人员,群共享有大量网友分享的.net(C#)商业源码.比如:DTCMS旗舰版,hishop微分 ...

随机推荐

  1. (转)高性能网站架构之缓存篇—Redis集群增删节点

    标签: 高性能架构集群缓存redis 上一篇文章,我们搭建了Redis-cluster集群,这篇博客跟大家讲一下如何在一个运行的集群上增加节点或者删除节点. Redis集群添加节点 首先我们要新建立一 ...

  2. 树形dp汇总

    HDU 1520 HDU 2196 Codeforces 219D POJ 1155

  3. Mathematics:Semi-prime H-numbers(POJ 3292)

      Semi-prime H-numbers 题目大意,令4n+1的数叫H数,H数素数x的定义是只能被x=1*h(h是H数),其他都叫合数,特别的,当一个数只能被两个H素数乘积得到时,叫H-semi数 ...

  4. 将xml文件作为一个小的数据库,进行学生的增删改查

    1.xml文件: <?xml version="1.0" encoding="UTF-8"?><Students> <studen ...

  5. Android Canvas绘图详解(图文)

    编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! Andr ...

  6. 浅析 Cordova for iOS

    转自@夏小BO的技术博客: Cordova,对这个名字大家可能比较陌生,大家肯定听过 PhoneGap 这个名字,Cordova 就是 PhoneGap 被 Adobe 收购后所改的名字.(Cordo ...

  7. IIS7.0提示---无法识别的属性“targetFramework”。请注意属性名称区分大小写。

    当我把我做的网站放在IIS7.0的服务器上的时候,浏览时提示这个错误信息 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消 ...

  8. Oracle数据库对象题库

    一.    填空题 在用 create 语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中. 在基本表不需要时,可以使用 drop table 语句撤消.在一个基本表撤 ...

  9. HTML标记语法之列表元素

    1.无序列表 <ul> <li type=”项目符号类型”></li> <li type=”项目符号类型”></li> <li typ ...

  10. 模拟操作网页 webBrowser

    C# 获取IFrame中body元素 (winform) 方法1. 找出iframe的b.html的src , 利用webbrowser去加载b.html HtmlElementCollection ...