使用Webdriver的代码 - 单击具有相同名称/值/类型的按钮

时间:2015-04-22 20:24:33

标签: php css selenium-webdriver webdriver codeception

我试图找出如何使用$I->click代码共享来获得与同一页面上的另一个按钮共享相同名称/值/类型的按钮。例如:

<input class="submit_btn uppercase" type="submit" name="go" value="/GO/"> // button I want to click

<input class="submit_btn" type="submit" value="/GO/" name="go"> // button I don't want to click

我应该使用什么语法来描述两者之间的关系?我尝试了很多不同的东西,包括在按钮名称之后使用CSS定位器,如:

$I->click('go', '.uppercase'); // 2nd item is CSS locator

我也试过了:

$I->click('go', '.submit_btn uppercase'); // 2nd item is CSS locator

2 个答案:

答案 0 :(得分:0)

我不熟悉代码,但是如果它有完整的CSS选择器支持(在快速查看文档后对我不明确),您可以查看使用:not(s) selector

如果是这种情况,您应该可以使用以下内容:

$I->click('go', '.submit_btn:not(.uppercase)');

答案 1 :(得分:0)

首先,我相信你应该找到一个已定义id的最近的父标签。我假设有一个父标签,其id =&#34; formId&#34; 以下是通过CSS选择器单击该元素的代码:

$I->click('#formId > input.submit_btn.uppercase');

还有另一种方法可以通过xpath单击此元素:

$I->click('//input[@class="submit_btn uppercase"]');