用python处理网页

用python处理网页,python,python-3.x,win32com,Python,Python 3.x,Win32com,我的目标是能够用脚本自动操作网页。填写信息并选择正确的下拉框。以最少的用户输入 所以我的例子是使用国家铁路网站 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 !=

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

所以我的例子是使用国家铁路网站

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
如果我想在“出发”时将方框改为“到达”,请填写“从”站/邮政编码”并点击“出发”。我该怎么做呢


win32com也是这样操作网页的最佳方法吗?

虽然我相信每一位Python用户都会感激您以最困难的方式尝试这样做,但为什么不让自己更轻松地使用这个库呢

以下是您的代码&您在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

看到了吗?好看多了!最后一行选择“离开”表单,在其中找到
选项
标记,并选择到达选项。有了这段代码,您也应该能够了解您想对该站点执行的其他操作。

我将首先回答您的第二个问题。浏览器模拟的标准是Python的selenium模块。如果使用此选项,可以直接在页面上运行某种JavaScript来操作页面。beautiful soup或bs4模块用于在页面上刮取链接。