Selenium学习006-查询12306列车

Selenium学习笔记目录

查询有票的列车,并输出列车车次

    1. 要求
    • 南京南-杭州东
    • 当前时间的第二天
    • 0600-1200
    • 二等座
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
try:
    driver = webdriver.Chrome()
    driver.get('https://kyfw.12306.cn/otn/leftTicket/init')
    driver.implicitly_wait((10))

    # 出发地
    driver.find_element_by_id('fromStationText').click() # 点击操作用于清空默认置灰的文字
    driver.find_element_by_id('fromStationText').send_keys('南京南')
    driver.find_element_by_id('fromStationText').send_keys(Keys.ENTER)  # 模拟键盘enter

    # 目的地
    driver.find_element_by_id('toStationText').click()
    driver.find_element_by_id('toStationText').send_keys('杭州东')
    driver.find_element_by_id('toStationText').send_keys(Keys.ENTER)  # 模拟键盘enter

    # 选择时间段
    driver.find_element_by_id('cc_start_time').click()
    driver.find_element_by_xpath("//*[@id='cc_start_time']/option[@value='06001200']").click()

    # 选择日期-->自动查询出结果
    driver.find_element_by_xpath(("//*[@id='date_range']/ul/li[2]")).click()

    # # 收集数据--方法一(本人首次做出来时使用的方法)
    # with_ticket_trains = [] # 有票的车次
    # without_ticket_trains =[] # 无票的车次
    # all_trains_info = driver.find_elements_by_xpath("//*[@id='queryLeftTable']/tr/td[4]")
    # for one_train_info in all_trains_info:
    #     train_number = one_train_info.find_element_by_xpath("../td[1]//*[@class='number']").text.strip()  # 查找车次
    #     if one_train_info.text in ('--', '无'): # 判断是否有票
    #         without_ticket_trains.append(train_number)
    #     else:
    #         with_ticket_trains.append(train_number)
    # # 打印出有票的列车车次
    # if len(with_ticket_trains) == 0:
    #     print('您所选的区间及时间范围内所有列车均已无票')
    # else:
    #     print('以下列车还有票:')
    #     for i in with_ticket_trains:
    #         print(f'{i:>6}')

    # 收集数据--方法二(后期发现只有有票的才含有class属性,代码如下)
    all_trains_info = driver.find_elements_by_xpath("//*[@id='queryLeftTable']/tr/td[4][@class]/../td[1]//a")
    for one in all_trains_info:
        print(one.text)


finally:
    driver.quit()
    1. 结果
    1. 点击查看补充知识本文采用其他方法实现功能,暂未涉及链接中介绍的方法,但此方法很实用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 北京-喜<-> 15:59:20虽然难用,但12306面临的业务场景复杂度可能是世界之最. 先背书:文章里是内容我...
    六月星空2011阅读 933评论 0 0
  • 上班路上要经过一个小区,门口常年聚着几位卖菜的老人,有一对显然是夫妻,两人坐在小板凳上,中间只隔着一个拳头的距离,...
    今年九十岁阅读 1,956评论 4 8
  • 写文章恐惧症还有就是害怕自己在网上写文章被别人看到,然后被攻击。我看很多网络暴力和垃圾,我很害怕这样。我想试一下,...
    BonBon兔阅读 134评论 0 0
  • 凯蒂为“一念之转”发明了一个练习,分为三个部分,第一部分是问自己六个问题: 你不喜欢谁(或某件事)?那个人(或那件...
    菲乐阅读 210评论 0 0
  • 加班太晚,难得入眠; 上边瞧瞧,下边转转; 北方摆手,风声太紧; 东莞摇头,她不方便; 索性起床,继续苦干!
    孤独乞丐阅读 191评论 0 0

友情链接更多精彩内容