InvalidSelectorError: неверный селектор: невозможно найти элемент с выражением xpath

Ниже приведен HTML-фрагмент

<a ng-click="nodes.setViewType('tiles',true)">
 <span class="fa fa-check Tick-Inactive" ng-class="nodes.viewType == 'tiles'? 'Tick-Active':'Tick-Inactive'" style=""></span>
                Tile View
</a>

Попытка использовать ng-click или ng-class в локаторах, используя escape-символы java-скрипта. Но он показывает неверный или недопустимый селектор

element(by.xpath("//a[contains(@ng-click,'nodes.setViewType(\'tiles\',true)')]"));

element(by.css("span[ng-class^=nodes.viewType == \'tiles\']"));

element(by.xpath("//a[contains(@ng-click,'nodes.setViewType%28%27tiles%27%2Ctrue%29')]"));

1 ответ

Решение

Это сообщение об ошибке...

invalid or illegal selector was specified

... подразумевает, что созданная вами стратегия локатора не была допустимой.

Чтобы найти элемент с текстом как Tile View, вы можете использовать следующий xpath:

"//a[@ng-click=\"nodes.setViewType('tiles',true)\"]"

Примечание: так как элемент является угловым элементом для взаимодействия с ним, вы должны вызвать официанта для того, чтобы элемент был кликабельным.

Другие вопросы по тегам