В общем случае значения атрибутов, которые устанавливает React, являются «полудинамическими» (мой термин, и не заключайте меня в кавычки :) - они генерируются средой так, как она считает нужным, и могут изменяться при незначительном изменении исходного кода,Это относится к class
, а в вашем случае к атрибуту id
- как вы видите, число 1198 в нем не имеет смыслового значения, это просто счетчик.
Таким образом, вам лучше не использовать их в локаторах, поскольку они не будут жесткими - значение может легко меняться между сборками без предупреждения.
Я бы подошел к нему с другой стратегией;Вот локатор xpath, который работает, разбивка его структуры выглядит следующим образом:
//td[label[text()="CMDB Name:"]]/following-sibling::td/input[@type="text"]
Сначала он выбирает ячейку таблицы, которая имеет в качестве дочернего элемента span
с этим текстом - метку, которую пользователь видит в пользовательском интерфейсевход.Затем он выбирает следующую ячейку (ось following-sibling
) и, наконец, - элемент input
, который является его дочерним элементом - вашей целью.
По сути, этот локатор читает -msgstr "вернуть ввод рядом с текстом" CMDB Name: '"