РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1161 of 1361 menu

Метод selectButton

Метод selectButton класса Crawler используется для поиска кнопки внутри HTML-формы. Он принимает значение кнопки (её текст или атрибут name) и возвращает объект CrawlerForm, который позволяет заполнять поля формы и отправлять её. Метод удобен при тестировании веб-форм, когда нужно программно нажать на определённую кнопку.

Синтаксис

$form = $crawler->selectButton(string $value);

Пример

Давайте создадим простую HTML-форму с кнопкой и найдём её с помощью метода selectButton:

<form action="/submit" method="post"> <input type="text" name="username"> <button type="submit">Save</button> </form>

Теперь выберем кнопку с текстом Save:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\DomCrawler\Crawler; use Symfony\Component\HttpFoundation\Response; class FormController extends AbstractController { public function index(): Response { $html = '<form action="/submit" method="post"> <input type="text" name="username"> <button type="submit">Save</button> </form>'; $crawler = new Crawler($html); $form = $crawler->selectButton('Save'); return new Response($form->getUri()); } } ?>

Результат выполнения кода:

"/submit"

Пример

Также метод может искать кнопку по атрибуту name. Рассмотрим форму с кнопкой, у которой задано имя:

<form action="/save" method="post"> <input type="text" name="title"> <button type="submit" name="save_button">Send</button> </form>

Выберем кнопку по имени save_button:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\DomCrawler\Crawler; use Symfony\Component\HttpFoundation\Response; class FormController extends AbstractController { public function index(): Response { $html = '<form action="/save" method="post"> <input type="text" name="title"> <button type="submit" name="save_button">Send</button> </form>'; $crawler = new Crawler($html); $form = $crawler->selectButton('save_button'); return new Response($form->getMethod()); } } ?>

Результат выполнения кода:

"POST"

Смотрите также

  • класс Crawler,
    который предоставляет методы для навигации по DOM
  • метод selectLink,
    который выбирает ссылку по её тексту
  • класс CrawlerForm,
    который представляет форму и позволяет с ней работать
  • метод forms,
    который возвращает все формы на странице
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить