| 8 | import time, sys |
| 9 | |
| 10 | class huoche(object): |
| 11 | driver_name = '' |
| 12 | executable_path = '' |
| 13 | #用户名,密码 |
| 14 | username = u"xxx" |
| 15 | passwd = u"xxx" |
| 16 | # cookies值得自己去找, 下面两个分别是沈阳, 哈尔滨 |
| 17 | starts = u"%u6C88%u9633%2CSYT" |
| 18 | ends = u"%u54C8%u5C14%u6EE8%2CHBB" |
| 19 | |
| 20 | # 时间格式2018-01-19 |
| 21 | dtime = u"2018-01-19" |
| 22 | # 车次,选择第几趟,0则从上之下依次点击 |
| 23 | order = 0 |
| 24 | ###乘客名 |
| 25 | users = [u"xxx",u"xxx"] |
| 26 | ##席位 |
| 27 | xb = u"二等座" |
| 28 | pz = u"成人票" |
| 29 | |
| 30 | """网址""" |
| 31 | ticket_url = "https://kyfw.12306.cn/otn/leftTicket/init" |
| 32 | login_url = "https://kyfw.12306.cn/otn/login/init" |
| 33 | initmy_url = "https://kyfw.12306.cn/otn/index/initMy12306" |
| 34 | buy = "https://kyfw.12306.cn/otn/confirmPassenger/initDc" |
| 35 | |
| 36 | def __init__(self): |
| 37 | self.driver_name = 'chrome' |
| 38 | self.executable_path = 'D:/chromedriver' |
| 39 | |
| 40 | def login(self): |
| 41 | self.driver.visit(self.login_url) |
| 42 | self.driver.fill("loginUserDTO.user_name", self.username) |
| 43 | # sleep(1) |
| 44 | self.driver.fill("userDTO.password", self.passwd) |
| 45 | print(u"等待验证码,自行输入...") |
| 46 | while True: |
| 47 | if self.driver.url != self.initmy_url: |
| 48 | sleep(1) |
| 49 | else: |
| 50 | break |
| 51 | |
| 52 | def start(self): |
| 53 | self.driver = Browser(driver_name=self.driver_name,executable_path=self.executable_path) |
| 54 | self.driver.driver.set_window_size(1400, 1000) |
| 55 | self.login() |
| 56 | # sleep(1) |
| 57 | self.driver.visit(self.ticket_url) |
| 58 | try: |
| 59 | print(u"购票页面开始...") |
| 60 | # sleep(1) |
| 61 | # 加载查询信息 |
| 62 | self.driver.cookies.add({"_jc_save_fromStation": self.starts}) |
| 63 | self.driver.cookies.add({"_jc_save_toStation": self.ends}) |
| 64 | self.driver.cookies.add({"_jc_save_fromDate": self.dtime}) |
| 65 | |
| 66 | self.driver.reload() |
| 67 | |