InvalidSelectorError:无效的选择器:无法找到具有xpath表达式的元素

时间:2018-04-24 13:45:51

标签: javascript selenium selenium-webdriver xpath protractor

以下是html片段元素

// somewhere before: <script src="consts.js"></script>
<script>
window.onload = function () {
    new Vue({
        el: '#appMonster',
        data: {
            startClicked: false,
            monsterLife: {
                width: '100%',
                life: constants.MAX_HEALTH          // <==== use constants.PROPNAME
            },
            youLife: {
                width: '100%',
                life: 100
            }
        },
        methods: {

尝试使用java脚本转义字符在定位器中使用ng-click或ng-class。但是它显示了无效或非法的选择器

<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>

1 个答案:

答案 0 :(得分:3)

此错误消息......

invalid or illegal selector was specified

...意味着您构建的定位器策略不是有效的定位器。

要将带有文字的元素定位为平铺视图,您可以使用以下 xpath

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

注意:由于元素是与其进行交互的 Angular 元素,因此您必须诱导服务员点击该元素。