Селен: Как нажать элемент кнопки HTML?

У меня есть кнопка на странице что, будучи используемым в качестве ссылки на другую страницу. Таким образом, когда пользователь нажимает кнопку, они перенаправляются к правильной странице.

Я использую расширение Селена для PHPUnit, и я хотел бы протестировать это, кнопка правильно перенаправляет пользователя. Вот HTML, который я пытаюсь протестировать:

<button onclick="window.location='/sponsor';" value="Continue" type="button" id="sponsorContinue" name="sponsorContinue">Continue</button>

Я попробовал много разных подходов для нажатия кнопки, но я, может казаться, не заставляю ни одного из них работать:

$this->click("//button[@id='sponsorContinue']");

Эта команда выполняет и не бросает ошибок, но страница не перенаправляется. Это хорошо работает, когда я вручную нажимаю кнопку.Что мне делать?

6
задан Andrew 12 May 2010 в 20:37
поделиться

1 ответ

Вот проблема ... HTML неправильный, и он вынуждает пользователей использовать javascript для перехода на следующую страницу. Вместо этого используйте этот HTML. Он чище и не полагается на javascript.

<form method="get" action="/sponsor">
    <button type="submit" id="sponsorContinue">Continue</button>
</form>

Кроме того, теперь это будет работать:

$this->click('sponsorContinue');

Однако, если вы пытаетесь заставить window.location работать, см. Этот вопрос .

2
ответ дан 17 December 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: