Как найти элемент с помощью «перевода»?У меня есть общее имя класса.Итак, я не могу использовать имя класса, чтобы найти элементы - PullRequest
0 голосов
/ 28 ноября 2018

У меня ниже структура HTML.Здесь Class используется и в некоторых других местах.Пожалуйста, дайте мне какое-нибудь решение этого вопроса.

<div ng-show="addEditBillingCodeForm.form.code.$error.required &amp;&amp; addEditBillingCodeFormSubmitted" class="error-msg ng-scope" translate="MESSAGE_TOOLS_BILLING_CODE_REQ">Specify billing code</div>**strong text** 

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Используйте это, если вы просто пытаетесь найти элемент:

element(by.cssContainingText('div.error-msg.ng-scope','Specify billing code'))
0 голосов
/ 28 ноября 2018

Для этого решения требуется jquery:

$("div[translate='MESSAGE_TOOLS_BILLING_CODE_REQ']")

Скорее всего, на практике это не сработает, поскольку я предполагаю, что MESSAGE_TOOLS_BILLING_CODE_REQ печатает да / нет ( см. Документацию по параметру перевода ).Следующие строки будут работать в этом случае, но это не будет очень конкретным, и у вас, скорее всего, будут проблемы выбора, подобные тем, которые существуют в настоящее время.

$("div[translate='no']")
$("div[translate='yes']")

Или более конкретно, с использованием имеющихся классов:

$("div.error-msg.ng-scope[translate='no']")
$("div.error-msg.ng-scope[translate='yes']")

Лучше всего найти что-то уникальное в окружающей HTML-структуре.Самым простым способом было бы добавить уникальный класс только к экземплярам, ​​которые вы хотите редактировать, но в противном случае родители и т. Д. Часто бывают ужасными.

...