2016-08-15 70 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標籤,並選擇到達選項。有了這些代碼,你應該能夠弄清楚你想用這個網站做什麼的其餘部分。