【问题标题】:Finding Certain Element Using XPATH with Not Contains使用不包含的 XPATH 查找特定元素
【发布时间】:2021-03-16 15:41:26
【问题描述】:

我正在尝试在 html 网站中搜索特定对象,唯一的区别是 disabled=""。我尝试了几次,但都没有成功。

问题: 显示了两个按钮,一个处于活动状态,另一个处于禁用状态。我的目标是尝试只为启用的 xpath 找到 xpath。我附上了下面两个按钮的 HTML。

HTML:

<button _ngcontent-skh-c131="" type="submit" class="mbsp-button btn-submit ng-star-inserted" id="price-submit-21C327109">submit </button>

<button _ngcontent-ylw-c131="" type="submit" class="mbsp-button btn-submit ng-star-inserted" id="price-submit-21C327008" disabled="">submit </button>

Xpath:

//*[(contains(@id, 'price-submit-')and not(contains(@disabled," ")))]

当我只期望一个元素时,此 XPATH 返回两个元素的结果。

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript html xpath


    【解决方案1】:

    问题是你的 xpath 没有表达你真正想要的。您要求的元素没有 disabled 属性,其值包含一个空格。两者都没有,所以都被选中了。

    看起来你真正想要的是没有disabled 属性的元素。试试这个:

    //*[(contains(@id, 'price-submit-')and not(@disabled))]
    

    或

    //button[(contains(@id, 'price-submit-')and not(@disabled))]
    

    【讨论】:

      猜你喜欢
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 2021-09-17
      • 2015-07-05
      • 2021-06-14
      • 1970-01-01
      • 2021-11-13
      相关资源
      最近更新 更多