Я использую Selenium в Visual Studio. Написание тестового примера, в котором я хочу открыть выпадающее меню. Я хочу идентифицировать меню, используя уникальное имя для него.
Код выглядит так:
<div class="mat-select-value">
<span class="mat-select-placeholder ng-tns-c34-170 ng-star-inserted">
UniqueTextID
</span>
</div>
Мое нормальное решение для этого таково:
"//span[contains(@class,'mat-select-placeholder ng-tns-c34-170 ng-star-inserted')][contains(text(),'UniqueTextID')]"
Проблема в том, что класс span: "mat-select-placeholder ng-tns-c34-170 ng-star-вставлен" не всегда одинаков. Каждый раз, когда страница загружается снова, цифры «c34-170» меняются на новый набор номеров.
Мой вопрос: возможно ли идентифицировать «UniqueTextID», просто указав класс div: «mat-select-value», пропуская класс span?
Примерно так:
"//div[contains(@class,'mat-select-value')][contains(text(),'UniqueTextID')]"
Или, если мне нужно указать класс span, можно ли просто добавить начало класса span, то есть часть, которая не меняется каждый раз: "mat-select-placeholder"?