2016-08-15 59 views
1

我的目标是能够使用脚本自动操作网页。填写信息并选择正确的下拉框。用最少的用户输入。使用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 

如果我想更改方框当“离开”到达时,填写从“站/邮政编码”并点击开始。我会如何去做这件事?

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

+2

我会先回答你的第二个问题。浏览器模拟的标准是Python的selenium模块。如果您使用此选项,则可以直接在页面上运行某种JavaScript来操纵页面。美丽的汤或bs4模块用于刮取链接页面。 – ytpillai

回答

2

虽然我敢肯定,每个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 

请参阅?看起来好多了!最后一行选择“离开”表格,找到其中的option标签,并选择到达选项。有了这些代码,你应该能够弄清楚你想用这个网站做什么的其余部分。