2015-12-21 153 views
2

我實際上正在編寫一個windows腳本,點擊後會打開我的默認網頁瀏覽器,打開一個頁面,輸入我的登錄信息,然後提交表單。使用腳本登錄到網站

我所能做的,到目前爲止是開放的瀏覽器這樣的:

explorer http:\\outlook.com\website.com 

因爲我找不到它告訴如何做到這一點的任何資源,我看着Python腳本,並發現了兩個庫IE瀏覽器。 urllibwebbrowser。我知道urllib用於抓取網站。但我不確定如何在Web瀏覽器中模擬相同的內容。 webbrowser庫只有命令才能在新選項卡中打開頁面等。

請告訴我如何使用python或windows腳本來實現此任務。

編輯:我有我的用戶名和密碼保存在我的瀏覽器,以便它自動填充。我只是想模擬'ENTER'鍵按下。

+0

類似的問題在這裏回答: http://stackoverflow.com/questions/14445208/python-authenticate-and-launch-private-page-using-webbrowser-urllib-and-cookiej –

+0

想那接近我想要的。但我沒有得到餅乾的一部分。我只想訪問這些字段並點擊「登錄」。我也希望這是普遍的。因此,將其他瀏覽器作爲默認瀏覽器的用戶也可以使用此腳本。 – v1shnu

+1

[Python模擬keydown]的可能重複(http://stackoverflow.com/questions/11906925/python-simulate-keydown)。如果你想稍後添加一個簡單的按鍵看看[pyautogui](https://pyautogui.readthedocs.org/en/latest/) – SiHa

回答

2

IEC

對我來說,最容易使用的選項用於控制從Python的瀏覽器是IEC。我發現很容易用於你描述的簡單的事情。

IEC是一個python庫,旨在幫助您自動化和控制Internet Explorer窗口。您可以使用此庫導航到網頁,閱讀各種HTML元素的值,設置複選框,文本框,單選按鈕等的值,單擊按鈕並提交表單。該庫

典型用途包括:

  • 編寫測試腳本來自動檢查你的web應用。

  • 自動管理在線帳戶。

  • 自動記錄和下載webmail。

  • 定期監測基於Web的應用程序的故障。

如果你寧願避免使用Internet Explorer(和誰不會?),那麼你可以使用selenium。要安裝它:

$ pip install -U selenium 

有關於如何登錄到網站上this question使用Chrome selenium細節。最重要的部分是:

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

chromedriver = 'C:\\chromedriver.exe' 
browser = webdriver.Chrome(chromedriver) 
browser.get('http:\\outlook.com\website.com') 

username = selenium.find_element_by_id("username") 
password = selenium.find_element_by_id("password") 

username.send_keys("YourUsername") 
password.send_keys("Pa55worD") 

selenium.find_element_by_name("submit").click() 
+0

這很好。但我不使用Internet Explorer:| – v1shnu

0

selenium是設計用來測試網站的工具,因此它能夠管理大量的各種瀏覽器。

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import time 

browser = webdriver.Firefox() 
browser.get("http:\\outlook.com\website.com") 
time.sleep(10) 
username = browser.find_element_by_id("user_input_id") 
password = browser.find_element_by_id("password_input_id") 
username.send_keys("your_username") 
password.send_keys("your_password") 
login_attempt = browser.find_element_by_xpath("//*[@type='submit']") 
login_attempt.submit() 

要檢索您的默認瀏覽器的名字,你可以使用webbrowser和創建web瀏覽器類的類型和硒的瀏覽器驅動器之間的映射。

browser = webbrowser.get() 
print browser.__class__