Я пытаюсь выяснить, как я могу использовать $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
Во-первых, я считаю, что вы должны найти ближайший родительский тег с идентификатором. Я предполагаю, что есть родительский тег с id = «formId». Вот код для выбора этого элемента с помощью селектора CSS:
$I->click('#formId > input.submit_btn.uppercase');
Есть еще один способ, которым вы можете щелкнуть этот элемент по xpath:
$I->click('//input[@class="submit_btn uppercase"]');
Я не знаком с кодовым восприятием, но если он имеет полную поддержку селектора CSS (для меня это неоднозначно после быстрого просмотра их документов), вы можете посмотреть на использование :not(s)
селектор.
Если это так, вы можете использовать что-то вроде:
$I->click('go', '.submit_btn:not(.uppercase)');