2010-09-20 74 views

回答

1

任何允許注入DOM事件或腳本標記的東西都可以用來控制網頁。 XUL是一種用於描述GUI的語言,並且對此沒有用處。

以下是您如何控制網頁的的一些示例。您沒有提供任何有關您打算如何使用所述控件(瀏覽器擴展,後臺腳本等)的詳細信息,因此我將舉例說明所有我能想到的情況:

如果您想要遠程控制網頁的獨立於您的正常瀏覽器腳本的一部分,您有以下選項:

  • 如果您不需要運行網站的JavaScript,使用僞瀏覽器一樣機械化對於Perl,PythonRuby或可能Twill如果您是shell腳本。它們比實際執行Javascript的東西要輕,但它們仍然會處理cookie,並讓您填寫表單並以編程方式點擊鏈接。
  • 如果您確實需要運行該網站的javascript,最簡單的解決方案是編寫一個Python腳本,該腳本使用帶有QWebView的PyQt,但實際上並不需要顯示任何窗口。 QtWebKit提供了一個受jQuery啓發的界面,用於在網站的DOM中進行轉換以及注入Javascript的功能,這就是遠程控制網頁所需的全部功能。 (QtWebKit does要求在Linux上運行GUI,但不需要實際顯示任何窗口來使用它。)必要的QtWebKit API也應該出現在Qt綁定中,以用於您可能更喜歡的任何其他語言。
  • 如果你不能使用QtWebKit,但需要Javascript(也許你正在編寫一個GTK +應用程序),你的選擇將受到更多的限制,但任何瀏覽器部件應該至少支持注入新的<script>標籤來控制頁。 This answer(也是我的)有一個用於各種Python工具包的Web小部件列表,並且大多數(可能全部)它們也可用於其他語言。您還需要閱讀編寫用戶腳本的說明。

如果你想腳本的網頁您現有的瀏覽器中(也許隱藏廣告或跳過網頁上的嘮叨屏幕時,您經常訪問),您有以下選項:

  • 如果你想修改瀏覽器本身,編寫瀏覽器擴展。這可能是你爲什麼問XUL的原因。你真正應該問的是Javascript(實際上Firefox和Chrome擴展的部分是用Javascript編寫的,XUL只是用於在Firefox中佈置窗口)......具體來說,鉻稱爲Content Scripts。火狐內部對我來說太複雜了,無法學習相應的術語。)這是你最強大的選擇,但它也是最受歡迎的選擇,你的擴展只能在一個瀏覽器上工作。
  • 如果您只是想修改或控制網站,請填寫userscript。用戶腳本是瀏覽器注入到您選擇的頁面中的Javascript的一部分。他們以某種形式或其他通過火狐GreasemonkeyChromeOpera,各種鮮爲人知的瀏覽器支持,並與IE7Pro擴展,通過Internet Explorer 7和8,他們不能修改瀏覽器的界面,但除了他們非常強大。 (example
+0

實際上我想要做的是我想自動登錄到我的GMail帳戶。然後,我想在我的數據庫中的To:字段中放置一個電子郵件。然後,我想將文本文件中的內容放在郵件的「內容」區域中,然後我想發送郵件。我想重複所有這些步驟,因爲我的所有潛在客戶都沒有收到他們的電子郵件。 – 2010-09-20 08:12:48

+0

我該怎麼做才能滿足這個要求。哪種語言可以滿足這個要求?感謝您的詳細信息。 – 2010-09-20 08:13:40

+0

如果你想發送郵件,正確的方法(和最簡單,最可靠的太)是使用SMTP直接發送郵件,就像原生的郵件客戶端做的,而不是炮製一個脆弱的「自動化Gmail的網絡界面」的黑客。如果你告訴我你在用什麼語言,我可以告訴你如何去做,但是請創建另一個問題並將其與我聯繫起來,這樣我們就不會混淆這個問題。 – ssokolow 2010-09-20 09:21:07

相關問題