selenium
安装selenium模块
pip install selenium
下载浏览器驱动
(以chrome为例)
查看chrome版本

访问http://chromedriver.storage.googleapis.com/index.html,进入与chrome相同版本的路径(下图红线标注),再下载驱动包(以windows为例)

解压chromedriver_win32.zip得到chromedriver.exe
简单的例子
# coding=utf-8 from selenium import webdriver path = r"C:\Users\Administrator\Downloads\chromedriver.exe" #chrome驱动的路径 url = "https://www.baidu.com" browser = webdriver.Chrome(path) #创建browser对象,打开chrome browser.get(url) #打开一个网页
执行结果:

代码练习
# coding=utf-8 from selenium import webdriver from selenium.webdriver.support.select import Select #专门处理下拉框元素 import time path = r"C:\Users\Administrator\Downloads\chromedriver.exe" #chrome驱动的路径 url = "https://kyfw.12306.cn/otn/leftTicket/init?" browser = webdriver.Chrome(path) #创建browser对象,打开chrome browser.maximize_window() #最大化窗口 browser.get(url) #打开一个网页 #元素定位 #出发地id fromStationText start_city = browser.find_element_by_id('fromStationText') start_city.click() #鼠标单击 start_city.clear() #清空输入 start_city.send_keys("yangxian\n") #输入内容 #目的地id toStationText end_city = browser.find_element_by_id('toStationText') end_city.click() end_city.clear() end_city.send_keys("xian\n") #选择时间 choice_time = Select(browser.find_element_by_id("cc_start_time")) #choice_time.select_by_index() 通过索引来取值 choice_time.select_by_visible_text("00:00--24:00") #通过数据取值 #选择日期 #这里使用了css 具体内容:#date_range li:nth-child(4) date = browser.find_element_by_css_selector("#date_range li:nth-child(4)") date.click() #防止网络延迟 time.sleep(5) #在这设定自己想要的车次,然后程序会在所有有票的list中匹配,如果favourite中有一个元素匹配到就显示有票 favourite = ['D6854','G2854'] #获取所有有票的车次信息并打印 xpath = '//tbody[@id="queryLeftTable"]//td[4][@class]/../td[1]//a' train_list = browser.find_elements_by_xpath(xpath) for train in train_list: #print train.text if train.text in favourite: print '恭喜你,有票' break else: print '对不起,暂时无票' #关闭网页 browser.quit()
浙公网安备 33010602011771号