Selenium IDE, как извлечь идентификатор атрибута с помощью XPath

Я пытаюсь получить идентификатор и сохранить его как переменную со следующим кодом:/

Команда Цель Ценить сохранить ценность xpath=(//div[@class[starts-with(.,'commentItem')]]/@id)[1] Идентификатор

но я получил это сообщение об ошибке:

хранить значение на xpath=(//div[@class[starts-with(.,'commentItem')]]/@id)[1] со значением Ошибка идентификатора: 11:54:55 Результат выражения xpath "(//div[@class[starts-with(.,'commentItem')]]/@id)[1]" это: [объект Аттр]. Это должен быть элемент.

Я попробовал это выражение xpath в консоли, и оно работает, но получить этот идентификатор здесь невозможно.


1
192
1

Ответ:

Решено

Проблема, с которой вы столкнулись, связана с тем, что команда storeValue в Selenium IDE предназначена для извлечения значения атрибута из элемента HTML, а не из самого атрибута.

В вашем случае вы пытаетесь извлечь атрибут id из элемента div. Используемое вами выражение XPath на самом деле возвращает сам атрибут id, а не элемент HTML, поэтому вы видите сообщение об ошибке.

Чтобы это исправить, вам нужно использовать команду storeAttribute вместо storeValue. Команда storeAttribute предназначена для извлечения значения атрибута из элемента HTML.

Вот как вы можете изменить свою команду:

Команда: storeAttribute

Цель: xpath=(//div[starts-with(@class, 'commentItem')]/@id)[1]

Значение: идентификатор

Эта команда сохранит значение атрибута id первого элемента div с классом, который начинается с commentItem, в переменной Id.