Прием кодекса воспринимает абсолютно одинаковые кнопки в разных формах на одной странице

У меня есть две абсолютно одинаковые кнопки в двух разных формах на одной странице. Формы и кнопки не имеют идентификатора или имени, и единственная разница между этими формами - это действие.

<form class="form" method="post" action="http://mysite/one">
    <button title="" type="submit" class="button">Edit</button>
</form>

<form class="form" method="post" action="http://mysite/two">
    <button title="" type="submit" class="button">Edit</button>
</form>

Я пишу приемочные тесты в Codeception и выполняю эти тесты с помощью PhpBrowser.

Я хочу нажать на эти кнопки, но нажата только первая.

Это работает только для первой кнопки:

$I->click("button[type=submit]");



Решение 1:
Я добавил идентификаторы для кнопок.

Решение 2:

$I->click("//form[contains(@action,'http://mysite/two')]/button[@type='submit']");

2 ответа

Решение

Попробуйте что-то вроде следующего:

$I->click("//form[contains(@action,'http://mysite/two')]/button[@type='submit']");

Попробуйте использовать следующее выражение XPath:

$I->click('(//button[@type=submit])[2]');
Другие вопросы по тегам