1、百度搜索12306,查询南京-扬州的高铁,并将数据保存下来
知识点:1、浏览器多窗口操作
2、元素定位
3、含有默认值的输入框操作
4、日期的选择
5、选择框的操作
6、数据存储
源码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import unittest
import requests
import time
browser = webdriver.Chrome()
url="https://kyfw.12306.cn/otn/leftTicket/init"
browser.get(url)
time.sleep(3)
#对于有默认值的处理1、点击、输入 2、清除、输入
browser.find_element_by_id("fromStationText").click()
browser.find_element_by_id("fromStationText").send_keys("南京")
browser.find_element_by_id("fromStationText").send_keys(Keys.ENTER)
time.sleep(3)
browser.find_element_by_id("toStationText").clear()
browser.find_element_by_id("toStationText").send_keys("上海")
browser.find_element_by_id("toStationText").send_keys(Keys.ENTER)
time.sleep(3)
browser.find_element_by_id("date_icon_1").click()
browser.find_element_by_xpath("//div[@class='cal']/div[@class='cal-cm']/div[14]").click()
# id定位的元素,id是变值,用其他定位
browser.find_element_by_xpath("//ul[@id='_ul_station_train_code']/li[1]/input").click()
time.sleep(3)
browser.find_element_by_class_name("btn-area").click()
----实现查询
后期修改:1、从百度搜索网站
2、实现数据抓取和存储
3、可设置输入:出发点、目的地、时间
xpath定位参考链接:https://www.cnblogs.com/hanmk/p/8997786.html
css定位参考链接:http://www.w3school.com.cn/cssref/css_selectors.asp