使用 python 操作网页

Manipulating web pages with python

我的目标是能够用脚本自动操作网页。填写信息并选择正确的下拉框。以最少的用户输入。

所以我在这里的示例使用的是国家铁路网站。

import win32com.client
from time import sleep

ie = win32com.client.Dispatch("InternetExplorer.Application")
ie.Visible = 1
ie.navigate("http://www.nationalrail.co.uk/")

while ie.ReadyState != 4: # Wait for browser to finish loading
    sleep(1)
print("Webpage Loaded")

page = ie.Document

links = page.links

如果我想将 "Leaving" 框更改为到达,请填写从 "Station / Postcode" 并点击开始。我该怎么做?

win32com 也是处理此类网页的最佳方法吗?

虽然我相信每个 Python 用户都会感谢您尝试以最困难的方式做到这一点,但为什么不让事情变得更简单并使用库 Selenium?

这是您的代码以及您在 Selenium 中尝试执行的操作:

from selenium import webdriver
driver = webdriver.Firefox() # Initialize the webdriver session
driver.get('http://www.nationalrail.co.uk/') # replaces "ie.navigate"
driver.find_element_by_id('sltArr').find_elements_by_tag_name('option')[1].click() # Selects the "Arrive" option

看到了吗?好看多了!最后一行选择 "Leaving" 表单,在其中找到 option 标签,然后选择 Arrive 选项。有了这段代码,您应该也能弄清楚您想对该站点执行的其余操作。