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)\"]"
Примечание: так как элемент является угловым элементом для взаимодействия с ним, вы должны вызвать официанта для того, чтобы элемент был кликабельным.