【问题标题】:How to find the respective element using xpath contains() function -selenium webdriver如何使用 xpath contains() 函数 -selenium webdriver 查找相应的元素
【发布时间】:2021-11-11 17:46:18
【问题描述】:

这是html sn-p

<div class="ext-cal-wk-ct">
   <table>
       <tbody>
           <tr>
               <td><div>13</div></td>
               <td><div>14</div></td>
               <td><div>15</div></td>
           <tr>
           <tr>
               <td><div>Calender note WebElement[no 13]</div></td>
               <td><div>Calender note WebElement[no 14]</div></td>
               <td><div>Calender note WebElement[no 15]</div></td>
           </tr>
       </tbody>
   </table>
</div>

我想通过元素 no 使用 xpath 找到相应的元素 例如: 如果我使用contains(text(),'13')--> WebElement no 13 应该返回 对于contains(text(),'14')--> WebElement no 14 应该返回等等

我使用了两个 xpath 来单独查找元素,但不知道如何连接它们

//div[@class='ext-cal-wk-ct']/table[2]/tbody/tr/td/div[contains(text(),'13')]

//div[@class='ext-cal-wk-ct']/table[2]/tbody/tr/td/div[contains(text(),'Tim Cook')]

在这方面需要一些帮助

我想要一个 xpath,我将在其中传递日期,它会返回该特定日期的日历记录

【问题讨论】:

    标签: java selenium selenium-webdriver xpath


    【解决方案1】:

    基本上,contains 用于部分匹配。

    当你写作时

    contains(text(),'13')
    

    有2个匹配节点,

    <div>13</div>
    

    <div>WebElement no 13</div>
    

    所以我建议使用:

    //div[@class='ext-cal-wk-ct']/table[2]/tbody/tr/td/div[text(),'13']
    

    定位

    <div>13</div>
    

    //div[@class='ext-cal-wk-ct']/table[2]/tbody/tr/td/div[text()='WebElement no 13']
    

    找到这个:

    <div>WebElement no 13</div>
    

    【讨论】:

    • 实际上“WebElement no 13”是像日历笔记一样的 webElement 现在我想要一个 xpath,我将在其中传递日期以获取该特定日期的笔记。这就是为什么我使用contains(text(),'13')
    • 那是什么意思?我的回答解决了您的问题吗?
    【解决方案2】:

    您可以通过在 xpath 中使用 contains 来使用以下语法

    //tagname[contains(text(),'textname')]
    

    我猜你应该考虑完全匹配:

    &lt;td&gt;&lt;div&gt;15&lt;/div&gt;&lt;/td&gt;:对于这个元素

    xpath => //td/div[text()='13']

    对于这个元素:&lt;td&gt;&lt;div&gt;WebElement no 13&lt;/div&gt;&lt;/td&gt;

    xpath => //td/div[text()='WebElement no 13']

    我希望给定的 html sn-p 在 dom 中有唯一的文本。

    【讨论】:

      猜你喜欢
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-03
      相关资源
      最近更新 更多