【问题标题】:Need help in finding the xpath for webtable based element in below scenario在以下场景中需要帮助以查找基于 webtable 的元素的 xpath
【发布时间】:2021-05-11 14:15:58
【问题描述】:

我有一个动态 webtable,基于特定列文本匹配,我必须编辑记录,我能够从表中找到行但无法单击与同一行对应的编辑按钮..

如附件中所述,共有 3 个部分-

  1. Tr 以红色突出显示:是我可以使用 xpath 根据给定列值/文本 [for ex-Test_j] 选择它的行://td[contains(.,'Test_j')]

  2. td 棕色:有两个按钮 B1B2 -editDelete,我必须根据匹配的文本点击这两个按钮在第 1 步中

  3. 最后圈出的
  4. 是列文本“xpath”,通过它我可以找到要编辑的行。

现在请帮助我仅使用此 tr 的前面或任何其他方式单击此记录的编辑按钮。

这是我可以在 DOM 中看到的 html:

<tr kendogridlogicalrow="" data-kendo-grid-item-index="20" role="row" aria-rowindex="22" class="ng-star-inserted">
        <!---->
            <!---->
        
        <!---->
        <!----><td aria-selected="false" kendogridcell="" kendogridlogicalcell="" role="gridcell" colspan="1" aria-colindex="1" class="ng-star-inserted">
    <!---->
        <!----><!---->
            <!---->
            
                <div _ngcontent-elp-c18="" class="no-wrap ng-star-inserted">
                    <button _ngcontent-elp-c18="" class="mw-icon-button" mwiconbutton="pencil-alt"><em class="fa fa-pencil-alt" style="margin-right: 0px;"></em></button>
                    <button _ngcontent-elp-c18="" mwdeletebutton="" title="Delete"><i class="fa fa-trash-alt"></i></button>
                </div>
            
            <!---->
            <!---->
            <!---->
        
        <!---->
    
</td><td aria-selected="false" kendogridcell="" kendogridlogicalcell="" role="gridcell" colspan="1" aria-colindex="2" class="ng-star-inserted">
    <!---->
        <!----><!---->
            <!---->
            <!---->
            <!---->Test_j
            <!---->
        
        <!---->
    
</td><td aria-selected="false" kendogridcell="" kendogridlogicalcell="" role="gridcell" colspan="1" aria-colindex="3" class="ng-star-inserted">
    <!---->
        <!----><!---->
            <!---->
            <!---->
            <!---->General
            <!---->
        
        <!---->
    
</td><td aria-selected="false" kendogridcell="" kendogridlogicalcell="" role="gridcell" colspan="1" aria-colindex="4" class="ng-star-inserted">
    <!---->
        <!----><!---->
            <!---->
            
              <span _ngcontent-elp-c18="" class="ng-star-inserted">xxx xxx Lee</span>
            
            <!---->
            <!---->
            <!---->
        
        <!---->
    
</td><td aria-selected="false" kendogridcell="" kendogridlogicalcell="" role="gridcell" colspan="1" aria-colindex="5" class="ng-star-inserted" style="text-align: center;">
    <!---->
        <!----><!---->
            <!---->
            
                <span _ngcontent-elp-c18="" class="ng-star-inserted">6</span>
            
            <!---->
            <!---->
            <!---->
        
        <!---->
    
</td><td aria-selected="false" kendogridcell="" kendogridlogicalcell="" role="gridcell" colspan="1" aria-colindex="6" class="ng-star-inserted">
    <!---->
        <!----><!---->
            <!---->
            
                <em _ngcontent-elp-c18="" class="fa fa-check ng-star-inserted">
                </em>
            
            <!---->
            <!---->
            <!---->
        
        <!---->
    
</td><td aria-selected="false" kendogridcell="" kendogridlogicalcell="" role="gridcell" colspan="1" aria-colindex="7" class="ng-star-inserted">
    <!---->
        <!----><!---->
            <!---->
            
                <em _ngcontent-elp-c18="" class="fa fa-check ng-star-inserted">
                </em>
            
            <!---->
            <!---->
            <!---->
        
        <!---->
    
</td>
    </tr>

【问题讨论】:

    标签: selenium xpath webdriver domxpath


    【解决方案1】:

    这个 xpath 应该适合你-

    //td[contains(.,'Test_j')]/preceding-sibling::td[1]/div/button[1]
    

    【讨论】:

      【解决方案2】:

      使用以下任一xpath

      使用preceding-sibling 标识列。

      //td[contains(.,'Test_j')]/preceding-sibling::td[1]//button[@mwiconbutton='pencil-alt']
      

      或识别row然后按钮

      //tr[.//td[contains(.,'Test_j')]]//button[@mwiconbutton='pencil-alt' and @class='mw-icon-button']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-16
        • 2022-12-09
        • 1970-01-01
        • 2020-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多