Установите флажок, который не имеет никакого атрибута

1

Я пытаюсь проверить флажок, но у него нет никаких атрибутов для идентификации. Я пытался использовать xpath, но безуспешно.

Ниже вы можете увидеть весь HTML-код, в который был установлен флажок.

<fieldset>
  <div class="row">
    <div class="col-sm-3">
      <div class="form-group field-documento-competencia_mensal required has-success">
        <input name="Documento[competencia_mensal]" value="0" type="hidden">
        <label>
          <input id="documento-competencia_mensal" name="Documento[competencia_mensal]" value="1" type="checkbox"> Por competência mensal
        </label>
        <div class="help-block"></div>
      </div>
    </div>
    <div class="col-sm-4">
      <div style="display: none;" class="form-group field-documento-inicio_cobranca">
        <label class="control-label" for="documento-inicio_cobranca">Dia de início da cobrança</label>
        <input id="documento-inicio_cobranca" class="form-control" name="Documento[inicio_cobranca]" type="text">
        <div class="hint-block">Dia do mês seguinte em que o documento começa a ser solicitado. Pode ser negativo para indicar o próprio mês.</div>
        <div class="help-block"></div>
      </div>
    </div>
    <div class="col-sm-4">
      <div style="display: none;" class="form-group field-documento-limite_entrega">
        <label class="control-label" for="documento-limite_entrega">Dia limite para entrega do documento</label>
        <input id="documento-limite_entrega" class="form-control" name="Documento[limite_entrega]" type="text">
        <div class="hint-block">Dia do mês seguinte em que o documento passa a ser considerado pendente caso não seja entregue.</div>
        <div class="help-block"></div>
      </div>
    </div>
  </div>
  <div class="form-group field-documento-id_validade">
    <div class="row">
      <div class="col-sm-3">
        <label class="control-label" for="documento-id_validade">
          <!-- Here the checkbox I'm trying to check -->
          <input type="checkbox"> Por Temporalidade
          <!-- Here the checkbox I'm trying to check -->
        </label>
      </div>
      <div class="col-sm-4">
        <select style="display: none;" id="documento-id_validade" class="form-control" name="Documento[id_validade]">
          <option value="">Selecione a temporalidade</option>
          <option value="1">INDETERMINADO</option>
          <option value="2">MENSAL</option>
          <option value="3">ANUAL</option>
        </select>
      </div>
    </div>
    <div class="help-block"></div>
  </div>            
  <div class="form-group field-documento-exige_data_vencimento required">
    <input name="Documento[exige_data_vencimento]" value="0" type="hidden">
    <label>
      <input id="documento-exige_data_vencimento" name="Documento[exige_data_vencimento]" value="1" type="checkbox"> Por data de Vencimento
    </label>
    <div class="help-block"></div>
  </div>
</fieldset>

Я старался использовать без успеха:

$I->selectOption('//div[@class="field-documento-id_validade"]/div[1]/div[1]/label/input', '1');

Может кто-нибудь мне помочь, я буду очень благодарен.

Теги:
xpath
yii2
codeception
acceptance-testing

1 ответ

1
Лучший ответ

Я не думаю, что класс будет соответствовать.

Это должно работать, хотя оно не проверено:

'//div[contains(@class, "field-documento-id_validade")]//input[@type="checkbox"]'

  • 0
    Спасибо @rjdown! Ваш ответ мне очень помог, но я сделал несколько ошибок с использованным методом. Я изменил метод $I->selectOption на $I->click с вашим xpath и работал нормально.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню