• 练习js——自动化实现12306火车票查询


    # !/usr/bin/env python3
    # -*- coding: utf-8 -*-
    # @Time : 2019/12/1 09:03
    # @Author : "小多肉"
    # @Email : 1021181701@qq.com
    # @File : task1127.py
    # @Software: PyCharm
    import time
    from datetime import datetime, timedelta
    
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("https://www.12306.cn/index/")
    # 等待出发地选择框出现
    # WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID,"fromStationText")))
    time.sleep(2)
    #选择出发地
    fromStation = '福州'   #出发地汉字
    fs = 'FZS'   # 出发地代码
    fromStation_js = """
    document.getElementById('fromStation').value = arguments[0];  // 隐藏的出发地元素,value写入出发地代码
    var from = document.getElementById('fromStationText');
    from.className = "input inp-txt_select";    // 输入出发地后的class改成input inp-txt_select
    from.value = arguments[1];
    """
    driver.execute_script(fromStation_js,fs,fromStation)
    
    #选择目的地
    toStation = '长沙'    # 出发地汉字
    ts = 'CSQ'  # 出发地代码
    ele_toStation = driver.find_element_by_id("toStationText")
    ele_ts = driver.find_element_by_id("toStation")
    toStation_js = """arguments[1].value=arguments[2];
    var to = arguments[0];
    to.className = "input inp-txt_select";
    to.value = arguments[3];
    """
    driver.execute_script(toStation_js,ele_toStation,ele_ts,ts,toStation)
    
    # 选择出发日期
    # 当前日期+10天,转成字符串格式
    date = str(datetime.now().date()+timedelta(days=10))    
    # 使用js修改日期框为可输入状态,传入日期
    date_js = """
    var date = document.getElementById('train_date');
    date.readOnly = false;
    date.value = arguments[0];
    """
    driver.execute_script(date_js,date)
    # WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID,"search_one")))
    # 点击查询按钮
    driver.find_element_by_id("search_one").click()
    time.sleep(1)
    driver.quit()
  • 相关阅读:
    enyo学习之enyo.Object类
    java.lang.Object
    Nginx转发匹配规则
    工具类Redis工具类
    Redis从0到精通Redis.conf详解
    工具类类型转换器
    Docker入门到精通
    Redis从0到精通Jedis
    工具类字符集工具类
    Spock高质量单元测试实操篇
  • 原文地址:https://www.cnblogs.com/momoon/p/12228899.html
Copyright © 2020-2023  润新知