Xpath: как выбрать опцию на основе ее текста не, оценивают свойство?

Другое решение состояло бы в том, чтобы обернуть вызов к серверу и иметь его, всегда возвращают массив для упрощения остальной части жизни:

sub call_to_service
{
    my $returnValue = service::call();

    if (ref($returnValue) eq "ARRAY")
    {
        return($returnValue);
    }
    else
    {
       return( [$returnValue] );
    }
}

Тогда можно всегда знать о возвращении ссылки на массив даже если это был только один объект.

foreach my $item (@{call_to_service()})
{
  ...
}
22
задан budi 11 July 2017 в 16:15
поделиться

2 ответа

Для выбора по текстовому значению вы можете использовать функцию text () . И требуется нормализовать пробелы, потому что по умолчанию они не удаляются. Вот пример:

select/option[normalize-space(text())="Grass"]

@value - значение атрибута «значение»

@val - значение атрибута «val»

normalize-space () - функция возвращает строка аргументов с пробелами, нормализованная путем удаления начальных и конечных пробелов и замены последовательностей пробельных символов одним пробелом

27
ответ дан 29 November 2019 в 04:50
поделиться

Что ж, если пробелы не проблема:

/select/option[.='Grass']

Однако мне нужно проверить их повторно. Вы всегда можете нормализовать:

/select/option[normalize-space(.)='Grass']
12
ответ дан 29 November 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: