阅
2023-07-08
2 min read
偷税的垃圾作品(二)网页自动化篇
没错就是我们的新朋友 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()


