PHP古特。 Select 按钮没有 "value" 字段

PHP Goutte. Select button without "value" field

这是我的目标网站:http://www.rapid7.com/db/,我想在那里进行搜索,比方说字符串 "Symphony" 来检查它的漏洞。

检查输入表单的元素,我看到它的名称是 "q",到目前为止还不错,但是按钮没有任何值,我需要提交查询的按钮是:<span id="run_search" class="vbsearchBtn"></span> 没有值字段。

我的代码:

$client = new Client();

$crawler = $client->request('GET', 'http://www.rapid7.com/db/');
$form = $crawler->selectButton('????')->form();
$crawler = $client->submit($form, array('q' => 'Symphony'));
print $crawler->html();

有人知道如何执行吗?

据我了解,您的问题是获取表单元素,为什么需要按钮来执行此操作?您可以通过 id 查询表单,即 <form id="search_form" ...>。您可能还想提交 t 参数,这是您要查询的数据库类型(a 用于所有 m 用于模块 v 用于漏洞)。你的代码应该是这样的(你需要安装 CssSelector 组件):

$client = new Client();

$crawler = $client->request('GET', 'http://www.rapid7.com/db/');
$form = $crawler->filter('#search_form')->first()->form();
$crawler = $client->submit($form, array('q' => 'Symphony', 't' => 'a'));
print $crawler->html();