音乐播放器
小刻的家
 
文章 标签
0

Powered by Gridea | Theme: Fog
载入天数...
载入时分秒...

偷税的垃圾作品(二)网页自动化篇

没错就是我们的新朋友 Selenium !!!

Selenium 是一套 Web网站 的程序自动化操作 解决方案。

通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作。

而且还能从web界面获取信息。 比如获取 火车、汽车票务信息,招聘网站职位信息,财经网站股票价格信息 等等,然后用程序进行分析处理。

其中最常用的一个是css,一个是Xpath。
ps:我只学会了css呜呜呜呜

#举个栗子:
题目:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
driver = webdriver.Edge(r"E:\py\tool\msedgedriver.exe")
driver.implicitly_wait(5)
driver.get('https://kyfw.12306.cn/otn/leftTicket/init')
fromEle = driver.find_element(By.ID, 'fromStationText')
fromEle.click()
fromEle.clear()
fromEle.send_keys('nanjingnan\n') # 写中文 '南京南' 不行,可能时网页里面代码的作用

toEle = driver.find_element(By.ID,'toStationText')

toEle.click()
toEle.clear()
toEle.send_keys('hangzhoudong\n')
timeSelect =  Select(driver.find_element(By.ID, 'cc_start_time'))# 输入开始时间
timeSelect.select_by_visible_text('06:00--12:00')
tomorrow = driver.find_element(By.CSS_SELECTOR, '#date_range li:nth-child(2)')
tomorrow.click()# 点击这个,就会搜索车次了

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

print('\n\n\n===============================\n\n\n')
theTrainLines = driver.find_elements(By.CSS_SELECTOR,'#queryLeftTable > tr')
driver.implicitly_wait(0)# 先不加这个,发现特别慢
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)

driver.quit()