zoukankan      html  css  js  c++  java
  • selenium-xpath选择定位元素练习12306选择车次

    打开 12306 网站  https://kyfw.12306.cn/otn/leftTicket/init

     

    出发城市 填写 ‘南京南’, 到达城市 填写 ‘杭州东’

    注意输入城市名前,一定要先点击一下输入框,否则查不到。

    而且输入城市名最后要包含一个回车符,否则输入框里面会自动清除

     

    发车时间 选 06:00--12:00

     

    发车日期选当前时间的下一天,也就是日期标签栏的,第二个标签

     

    我们要查找的是所有 二等座还有票的车次,打印出这些有票的车次的信息(这里可以用xpath),结果如下:

     

    G7641

    G1505

    G7393

    G7689

     

     

     

     

     

     

    from selenium import webdriver
    from selenium.webdriver.support.ui import Select#Select实例化 先导入select类
    driver = webdriver.Chrome(r"D:for myselfGoogleChromeApplicationchromedriver.exe")
    driver.implicitly_wait(10)
    driver.get('https://kyfw.12306.cn/otn/leftTicket/init')
    fromEle=driver.find_element_by_id('fromStationText')
    fromEle.click()
    fromEle.clear()
    fromEle.send_keys(u'南京南 ')
    toEle=driver.find_element_by_id('toStationText')

    toEle.click()
    toEle.clear()
    toEle.send_keys(u'杭州东 ')
    #选择发车时间
    timeSelect=Select(driver.find_element_by_id('cc_start_time'))
    #timeSelect.select_by_visible_text('06:00--12:00')
    timeSelect.select_by_value('06001200')
    #选择出发日期
    driver.find_element_by_css_selector('#date_range li:nth-child(2)').click()
    #点击查询
    #driver.find_element_by_id('query_ticket').click()
    print(' =============================== ')
    theTrainLines = driver.find_elements_by_css_selector('#queryLeftTable > tr')


    for one in theTrainLines:
        secondlevelseat = one.find_elements_by_css_selector('td:nth-of-type(4)[class]')
        if secondlevelseat:
            print (one.find_element_by_css_selector('td:nth-of-type(1) a').text)
    driver.implicitly_wait(10)
    #xpath



    driver.quit()

    # 方法二:用xpath实现获取二等座有票的车次信息

    print(' =============================== ')

    xpath ='//*[@id="queryLeftTable"]//td[4][@class]/../td[1]//a'

    theTrains = driver.find_elements_by_xpath(xpath)

    for one in theTrains:

        print (one.text)

  • 相关阅读:
    AT2667-[AGC017D]Game on Tree【SG函数】
    P5163-WD与地图【tarjan,整体二分,线段树合并】
    P4258-[WC2016]挑战NPC【带花树】
    P7099-[yLOI2020]灼【数学期望,结论】
    P5056-[模板]插头dp
    P2012-拯救世界2【EGF】
    [CSP校内集训]替换游戏(tarjan+离散化)
    4.24作业
    【题解】考分鄙视
    【题解】鱼塘钓鱼
  • 原文地址:https://www.cnblogs.com/iamshasha/p/11118426.html
Copyright © 2011-2022 走看看