2012-06-12 312 views
0

我知道這是可能的Perl,但我想知道這是否可以在PHP中完成。打開窗口,瀏覽它

我想要做的是打開帶有窗口的瀏覽器,單擊該頁面中的鏈接或在瀏覽器中導航,然後它有一個簡單的文本框稱爲測試,然後我想將文本放入該框中點擊提交併全部在PHP中完成。我知道jQuery和Javascript,所以我很好,如果這個小項目的一部分應該在這兩個任何一個。我對它做了一些研究,找不到明確的方法。

我不需要爲我提供的書面代碼,我只需要一個建議的答案,如果可能的話,小代碼做一些技巧。

在此先感謝。

-G

+0

PHPUnit似乎有[Selenium綁定](http://www.phpunit.de/manual/3.6/en/selenium.html)應該使這可能...但該功能被標記爲「部分實施」,我沒有任何親身經歷。我會堅持Perl爲此。 – Quentin

回答

0

PHP是一個服務器端語言,所以一切都被在服務器上完成,並顯示在瀏覽器發回給用戶的結果。你不能在PHP中做這樣的事情。你最好的選擇是使用javascript點擊鏈接並在頁面上提交表單......但是介意解釋這是爲了什麼,所以我們可以提供一種方法來做到這一點?

要在Javascript中使用此功能,您可以使用jQuery的.click()單擊鏈接,並使用.submit()提交表單。由於表單位於第二頁,因此提交代碼也必須位於該頁面上。如果你真的想自動化這個,你可以在iFrame中加載第一頁並使用內部的東西,但是這兩個頁面(parent和iframe)必須位於同一個域中。爲了避免這種情況,我會寫一個Chrome擴展插件,在這些頁面中插入一個小內容腳本和我的JS(點擊/提交內容)。

在PHP中,您可以下載第一頁,解析您想要點擊的鏈接,然後下載該頁面,找出其上的表單並使用cURL提交該表單。您也可以使用cURL來下載頁面。這裏有一個關於如何get the contents of remote files using php的教程。

+0

PHP是一種編程語言。它最常用作Web編程的服務器端語言,但它的確有其他支持。 – Quentin

+0

您可以使用PHP-Cli爲PHP控制檯製作PHP另一種解釋型語言,因此您的聲明不是true,@sachleen,它可以在「服務器端腳本」域之外使用。甚至PHP中的shell腳本也是可能的! –

+0

是的,我知道這一點。我爲自己使用了PHP CLI。但是從我原來提出的問題中,聽起來Grigor希望在客戶端而不是在服務器端完成。我想這不是正確的解釋。 – sachleen

0

您可以使用curl在PHP中複製表單文章。這裏本身爲文本框提供了價值。在php中瀏覽窗口是我不確定的事情。

0

PHP的擴展名爲cURL,它能夠從PHP下載Web並訪問它或將其保存到磁盤。

要填充表單中的字段,您可能先前知道字段名稱和表單操作,並在cURL所做的請求中對其進行編碼。

該文檔是here

希望有幫助!

相關問題