代码之家  ›  专栏  ›  技术社区  ›  Syspect

通过xpath、Selenium IDE检查HTML是否包含文本

  •  1
  • Syspect  · 技术社区  · 10 年前
    <tr id="media_gallery_content-image-1" class="preview">
       <td class="cell-image">blqblq</td>
       <td class="cell-label" style="background-color: rgb(255, 255, 255);">
         <input class="input-text" type="text" onchange="media_gallery_contentJsObject.updateImage('/2/0/20499-1.jpg')" onkeyup="media_gallery_contentJsObject.updateImage('/2/0/20499-1.jpg')">
       </td>
    

    这就是HTML代码。到目前为止,我已经进行了以下xpath查询:

    xpath=(//tr[@id="media_gallery_content-image-1"]/td[@class="cell-label"]/input)
    

    这让我去了 <input...> 标记,我想检查它是否包含文本 /2/0/20499-1.jpg . 这是我(我认为最好的)尝试之一:

    <tr>
        <td>verifyText</td>
        <td>xpath=(//tr[@id=&quot;media_gallery_content-image-1&quot;]/td[@class=&quot;cell-label&quot;]/input)</td>
        <td>/2/0/20499-1.jpg</td>
    </tr>
    

    我正在使用 硒IDE 2.4.0 在Firefox中

    2 回复  |  直到 10 年前
        1
  •  2
  •   ddavison    10 年前

    如果我可以提出建议,请使用CSS。我认为xpath选择器可能无法工作,因为您正在匹配任意类。该类在运行时可能不会这样做。

    此外,您的测试无法验证 <input/> 。您需要验证 value 属性

    试试看:

    <tr>
        <td>verifyAttribute</td>
        <td>css=tr#media_gallery_content-image-1 input.input-text@value</td>
        <td>/2/0/20499-1.jpg</td>
    </tr>
    
        2
  •  2
  •   Erki M.    10 年前

    我在标记中看不到文本,因此无法查询它。

    您可以尝试获取文本所在的属性值,并在验证中使用通配符。

    //tr[@id="media_gallery_content-image-1"]/td[@class="cell-label"]/input/@onchange
    

    <td>*/2/0/20499-1.jpg*</td>