Python自动化xpath实现自动抢票抢货


Posted in Python onSeptember 19, 2020

小伙伴们,这次推文讲的是‘xpath‘,掌握起来不难的哦。而且,熟悉了这套路,别说pubmed,任何你能在浏览器实现的操作,都基本能通过selenium自动化进行。

总代码:

for i in range(51,56):
  driver.implicitly_wait(10)
  ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-results-panel-trigger"]')).click().perform()

  Select(driver.find_element_by_xpath('//*[@id="save-action-selection"]')).select_by_visible_text("All results on this page")
  ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-action-format"]')).click().perform()
  Select(driver.find_element_by_xpath('/html/body/main/div[1]/div/form/div[2]/select')).select_by_visible_text("CSV")
  ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-action-panel-form"]/div[3]/button[1]')).click().perform()

  target =driver.find_element_by_xpath('//*[@id="search-results"]/section/div[3]/a/span')

  driver.execute_script("arguments[0].();", target)
  ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="search-results"]/section/div[3]/a/span')).click().perform()
  ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="search-page"]/div[12]/div/form/button')).click().perform()
  print('第'+str(i)+'页下载成功')
  print('跳转第'+str(i+1)+'页面中')
driver.quit()
print('全部下载完毕,自动退出。')

代码1

Python自动化xpath实现自动抢票抢货

for i in range(1,50+1): printg('我错了')

Python自动化xpath实现自动抢票抢货

Python自动化xpath实现自动抢票抢货

操作如下:鼠标移动到Save按钮→鼠标右击→检查,

可以发现源代码有一块区域亮起来了

这块区域就是Save按钮对应的源代码→鼠标移动到该源代码区域→右击→复制→复制XPath,

这样我们就复制了Save按钮的Xpath了,接下来只需要粘贴到代码就行.

Python自动化xpath实现自动抢票抢货

Python自动化xpath实现自动抢票抢货

小伙伴们是否还记得ActionChains的万能公式:

ActionChains(driver).move_to_element(driver.find_element_by_xpath('xpath_content')).click().perform()

我们只需要把刚才复制的xpath粘贴到代码中的“xpath_content”区域就行

是不是很熟悉呢,是的,这便是我们使用ActionChains模块实现的第一个操作,后续的一样噢,只需要复制对应的Xpath直接粘贴就行了。

Python自动化xpath实现自动抢票抢货

最后,因为以上均是循环体的内容,当代码执行完整个循环体了,我们可以通过代码直接关掉浏览器,提醒我们打印完了,代码如下

driver.quit()
print('全部下载完毕,结束了')

因为这两句代码已经不是循环体的内容了,所以无需另起一行空两个,而且,小伙伴记得噢,所有字符都是英文字符,包括括号、引号等等。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python定时器使用示例分享
Feb 16 Python
在Django框架中编写Contact表单的教程
Jul 17 Python
Python中pygame安装方法图文详解
Nov 11 Python
利用python求相邻数的方法示例
Aug 18 Python
python实现linux下抓包并存库功能
Jul 18 Python
Python实现的调用C语言函数功能简单实例
Mar 13 Python
浅谈Python基础—判断和循环
Mar 22 Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 Python
python对 MySQL 数据库进行增删改查的脚本
Oct 22 Python
python 实现socket服务端并发的四种方式
Dec 14 Python
Python-split()函数实例用法讲解
Dec 18 Python
Python 如何将integer转化为罗马数(3999以内)
Jun 05 Python
python 贪心算法的实现
Sep 18 #Python
详解KMP算法以及python如何实现
Sep 18 #Python
python实现二分查找算法
Sep 18 #Python
Python自定义sorted排序实现方法详解
Sep 18 #Python
python爬虫爬取网页数据并解析数据
Sep 18 #Python
Python实现迪杰斯特拉算法过程解析
Sep 18 #Python
Python 操作 MySQL数据库
Sep 18 #Python
You might like
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
php模拟post提交数据的方法
2015/02/12 PHP
[原创]php简单隔行变色功能实现代码
2016/07/09 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
JS的replace方法介绍
2012/10/20 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
JavaScript时间戳与时间日期间相互转换
2017/12/11 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
tensorflow识别自己手写数字
2018/03/14 Python
django的autoreload机制实现
2020/06/03 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
澳大利亚宠物食品和药物在线:Jumbo Pets
2018/03/24 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
行政办公员自我评价分享
2013/12/14 职场文书
劳资专员岗位职责
2013/12/27 职场文书
销售主管的自我评价分享
2014/01/03 职场文书
好家长事迹材料
2014/01/23 职场文书
企业业务员岗位职责
2014/03/14 职场文书
公司担保书范文
2014/05/21 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
淮海战役观后感
2015/06/11 职场文书
小学毕业教师寄语
2019/06/21 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL