这是一个系列,记录我练习python时的代码,有些是参考网上代码,送给那些想要学习python的人。可以相互交流, wx: Lxp911221 喜欢的加我吧

这篇是一个抢票软件,有登录,自动选座,自动下单功能。用的splinter.browser 测试库实现主要功能

class huoche(object):"""docstring for huoche"""driver_name=''executable_path=''#用户名,密码username = u"用户名"passwd = u"密码"# cookies值得自己去找, 下面两个分别是上海, 潍坊starts = u"%u4E0A%u6D77%2CSHH"ends = u"%u6F4D%u574A%2CWFK"# 时间格式2018-01-19dtime = u"2018-01-31"# 车次,选择第几趟,0则从上之下依次点击order = 0###乘客名users = [u"user1",u"user2"]##席位xb = u"二等座"pz=u"成人票""""网址"""ticket_url = "https://kyfw.12306.cn/otn/leftTicket/init"login_url = "https://kyfw.12306.cn/otn/login/init"initmy_url = "https://kyfw.12306.cn/otn/index/initMy12306"buy="https://kyfw.12306.cn/otn/confirmPassenger/initDc"login_url='https://kyfw.12306.cn/otn/login/init'def __init__(self):self.driver_name='chrome'self.executable_path='/usr/local/bin/chromedriver'def login(self):self.driver.visit(self.login_url)self.driver.fill("loginUserDTO.user_name", self.username)# sleep(1)self.driver.fill("userDTO.password", self.passwd)print (u"等待验证码,自行输入...")while True:if self.driver.url != self.initmy_url:sleep(1)else:breakdef start(self):self.driver=Browser(driver_name=self.driver_name,executable_path=self.executable_path)self.driver.driver.set_window_size(1400, 1000)self.login()# sleep(1)self.driver.visit(self.ticket_url)try:print (u"购票页面开始...")# sleep(1)# 加载查询信息self.driver.cookies.add({"_jc_save_fromStation": self.starts})self.driver.cookies.add({"_jc_save_toStation": self.ends})self.driver.cookies.add({"_jc_save_fromDate": self.dtime})self.driver.reload()count=0if self.order!=0:while self.driver.url==self.ticket_url:self.driver.find_by_text(u"查询").click()count += 1print (u"循环点击查询... 第 %s 次" % count)# sleep(1)try:self.driver.find_by_text(u"预订")[self.order - 1].click()except Exception as e:print (e)print (u"还没开始预订")continueelse:while self.driver.url == self.ticket_url:self.driver.find_by_text(u"查询").click()count += 1print (u"循环点击查询... 第 %s 次" % count)# sleep(0.8)try:for i in self.driver.find_by_text(u"预订"):i.click()sleep(1)except Exception as e:print (e)print (u"还没开始预订 %s" %count)continueprint (u"开始预订...")# sleep(3)# self.driver.reload()sleep(1)print (u'开始选择用户...')for user in self.users:self.driver.find_by_text(user).last.click()print (u"提交订单...")sleep(1)# self.driver.find_by_text(self.pz).click()# self.driver.find_by_id('').select(self.pz)# # sleep(1)# self.driver.find_by_text(self.xb).click()# sleep(1)self.driver.find_by_id('submitOrder_id').click()# print u"开始选座..."# self.driver.find_by_id('1D').last.click()# self.driver.find_by_id('1F').last.click()sleep(1.5)print (u"确认选座...")self.driver.find_by_id('qr_submit_id').click()except Exception as e:print (e)

vue2学习计划1-1 浏览器跨域问题相关推荐

  1. Vue学习笔记(三)Vue2三种slot插槽的概念与运用 | ES6 对象的解构赋值 | 基于Vue2使用axios发送请求实现GitHub案例 | 浏览器跨域问题与解决

    文章目录 一.参考资料 二.运行环境 三.Vue2插槽 3.1 默认插槽 3.2 具名插槽 3.3 作用域插槽 ES6解构赋值概念 & 作用域插槽的解构赋值 3.4 动态插槽名 四.GitHu ...

  2. Mac上Chrome浏览器跨域解决方案

    Mac上Chrome浏览器跨域解决方案 参考文章: (1)Mac上Chrome浏览器跨域解决方案 (2)https://www.cnblogs.com/dxzg/p/9707639.html 备忘一下 ...

  3. 什么是浏览器跨域访问操作,js如何实现?

    什么是浏览器跨域访问操作,js如何实现? 浏览器从一个域名的网页去请求一个域名的资源时,域名.端口.协议任一不同,都是跨域. 三种方法实现js跨域访问: 1.基于iframe实现跨域.基于iframe ...

  4. 记录 关于浏览器跨域和设置默认浏览器的问题

    @Author:Runsen 当你使用ajax访问本地的json文件的时候,就会报from origin 'null' has been blocked by CORS policy: Cross o ...

  5. 浏览器跨域访问解决方案

    浏览器跨域访问解决方案 2015年11月4日 18972次浏览 跨域的概念 跨域大家都知道,不同地址,不同端口,不同级别,不同协议都会构成跨域.例如:about.haorooms.com和www.ha ...

  6. 详解浏览器跨域访问的几种办法

    摘要: 本文讨论web前端安全问题以及应对措施,浏览器同源策略以及对资源跨域访问的几种解决方案 本文分享自华为云社区<Web安全和浏览器跨域访问>,原文作者:kg-follower   . ...

  7. 【华为云技术分享】详解浏览器跨域的几种方法

    1前言 2背景知识介绍 2.1同源政策 2.2为什么要有跨域限制 3浏览器跨域的解决方案 3.1 CORS标准 3.2 CORS跨域判定的总体流程 3.3简单请求 3.4非简单请求 3.5 CORS相 ...

  8. nginx解决浏览器跨域问题_使用nginx解决浏览器跨域

    什么是浏览器跨域? 跨域就是指浏览器具有同源策略,浏览器不会执行访问其它网址数据的js脚本,比如说访问其它网址的cookie数据,调用其它网址的api接口. 什么是同源? 协议,域名,端口均相同的情况 ...

  9. Ajax 浏览器跨域访问控制

    2019独角兽企业重金招聘Python工程师标准>>> jsonp+ajax实现浏览器跨域通信的原理解析 php+ajax+P3P实现多域名跨域登录 一.关于跨域需要设置的响应头消息 ...

  10. c#解决浏览器跨域问题

    c#解决浏览器跨域问题 参考文章: (1)c#解决浏览器跨域问题 (2)https://www.cnblogs.com/S-U2018/p/10718252.html (3)https://www.j ...

最新文章

  1. mysql中varchar 大小写敏感问题
  2. 通常,Node.js如何处理10,000个并发请求?
  3. 【总结整理】JQuery基础学习---DOM篇
  4. 案例开发分析 || ​​​​​​​Scheduler组件
  5. (学习笔记)Oracle表空间相关基本命令
  6. [html] 如何使用纯html制作一个进度条?
  7. wordpress 外部数据接口_使用接口方式获取WordPress用户信息的方法
  8. 支付系统设计:支付系统的账户模型(一)
  9. 2021-2025年中国准分子飞秒眼科激光器行业市场供需与战略研究报告
  10. U盘制作“奶瓶”破解无线WPE\WPA\WPA2 密码教程
  11. PS CS6教程(photoshop视频教程) 免费下载
  12. Java字节序与大小端转换_什么时候要进行大小端字节序的转换? | 学步园
  13. 谁先量子计算机谁就,G、IBM、中科院,比一比谁先实现量子计算霸权?
  14. 2D 动画调整 position 产生的位移问题
  15. 中文语音合成综合评测一(可懂度)
  16. VMware Workstation 与 Device/Credential Guard 不兼容解决方案
  17. 2-1:编写一个Java应用程序,输出俄文字母表。
  18. OpenCV二值图像处理——阈值,连通区域分析(C++)
  19. 51单片机——PM2.5检测
  20. 做网站懒得备案 海外云服务器你要懂得怎么选!

热门文章

  1. Word2010-页眉中字数未满但自动换行
  2. numpy+pandas+matplotlib绘制对数函数图形
  3. Linux——好用的一些命令(一)(保持更新)
  4. 【今日CS 视觉论文速览】20 Dec 2018
  5. Sting中方法举例
  6. mysql学习笔记 查找技术 1207 0311
  7. 树视图主要属性 c# 0207
  8. 控件ListView相关属性 1217
  9. qdir安装 多窗口资源管理软件
  10. python-类的装饰器-主要给类添加属性用途