Я использую DOMCrawler в PHP. У меня есть HTML ниже.
Мне нужно иметь возможность выбрать опцию «Текст1» и отправить форму. У меня есть следующий код, но я не могу заставить его работать … Что я делаю не так?
use Goutte\Client;
$client = new Client();
$crawler = $client->request('GET', 'http://myURL');
$form = $crawler->selectButton('Text1')->form();
$crawler2 = $client->submit($form);
Это HTML:
<form action="something.php" name="frmOpcion" id="frmOpcion" method="post" enctype="multipart/form-data">
<select name="cmbOpcion" id="cmbOpcion" class="textoCmb">
<option value="a">Text1</option>
<option selected="selected" value="b">Text2</option>
</select>
<input type="image" name="imgOpcion" id="imgOpcion" alt="Send" title="Send" src="goTo.gif">
</form>
документация дает этот пример:
// Select an option or a radio
$form['country']->select('France');
Чтобы адаптировать пример к вашей ситуации, сначала выберите форму. Обратите внимание, что selectButton()
предназначен для кнопок и входов, а не для выбора элементов управления:
$form = $crawler->selectButton('imgOpcion');
Далее установите значение select:
$form->select('Text1');
Наконец, отправьте форму:
$client->submit($form)
Других решений пока нет …