我知道这是可能的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