2

我在同一页面上有两个完全相同的按钮,有两种不同的形式。表单和按钮没有 id 或名称,唯一的区别在于这些表单之间,即操作。

<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:
我为按钮添加了 ID。

解决方案2:

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

2 回答 2

3

尝试以下操作:

$I->click("//form[contains(@action,'http://mysite/two')]/button[@type='submit']");
于 2015-07-23T15:02:25.373 回答
1

尝试使用以下 XPath 表达式:

$I->click('(//button[@type=submit])[2]');
于 2015-07-22T11:46:29.083 回答