我知道這是可能的Perl,但我想知道這是否可以在PHP中完成。打開窗口,瀏覽它
我想要做的是打開帶有窗口的瀏覽器,單擊該頁面中的鏈接或在瀏覽器中導航,然後它有一個簡單的文本框稱爲測試,然後我想將文本放入該框中點擊提交併全部在PHP中完成。我知道jQuery和Javascript,所以我很好,如果這個小項目的一部分應該在這兩個任何一個。我對它做了一些研究,找不到明確的方法。
我不需要爲我提供的書面代碼,我只需要一個建議的答案,如果可能的話,小代碼做一些技巧。
在此先感謝。
-G
我知道這是可能的Perl,但我想知道這是否可以在PHP中完成。打開窗口,瀏覽它
我想要做的是打開帶有窗口的瀏覽器,單擊該頁面中的鏈接或在瀏覽器中導航,然後它有一個簡單的文本框稱爲測試,然後我想將文本放入該框中點擊提交併全部在PHP中完成。我知道jQuery和Javascript,所以我很好,如果這個小項目的一部分應該在這兩個任何一個。我對它做了一些研究,找不到明確的方法。
我不需要爲我提供的書面代碼,我只需要一個建議的答案,如果可能的話,小代碼做一些技巧。
在此先感謝。
-G
PHP是一個服務器端語言,所以一切都被在服務器上完成,並顯示在瀏覽器發回給用戶的結果。你不能在PHP中做這樣的事情。你最好的選擇是使用javascript點擊鏈接並在頁面上提交表單......但是介意解釋這是爲了什麼,所以我們可以提供一種方法來做到這一點?
要在Javascript中使用此功能,您可以使用jQuery的.click()
單擊鏈接,並使用.submit()
提交表單。由於表單位於第二頁,因此提交代碼也必須位於該頁面上。如果你真的想自動化這個,你可以在iFrame中加載第一頁並使用內部的東西,但是這兩個頁面(parent和iframe)必須位於同一個域中。爲了避免這種情況,我會寫一個Chrome擴展插件,在這些頁面中插入一個小內容腳本和我的JS(點擊/提交內容)。
在PHP中,您可以下載第一頁,解析您想要點擊的鏈接,然後下載該頁面,找出其上的表單並使用cURL提交該表單。您也可以使用cURL來下載頁面。這裏有一個關於如何get the contents of remote files using php的教程。
您可以使用curl在PHP中複製表單文章。這裏本身爲文本框提供了價值。在php中瀏覽窗口是我不確定的事情。
PHP的擴展名爲cURL
,它能夠從PHP下載Web並訪問它或將其保存到磁盤。
要填充表單中的字段,您可能先前知道字段名稱和表單操作,並在cURL所做的請求中對其進行編碼。
該文檔是here。
希望有幫助!
PHPUnit似乎有[Selenium綁定](http://www.phpunit.de/manual/3.6/en/selenium.html)應該使這可能...但該功能被標記爲「部分實施」,我沒有任何親身經歷。我會堅持Perl爲此。 – Quentin