如果列表中的文本具有相似的路径,如何查找

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果列表中的文本具有相似的路径,如何查找相关的知识,希望对你有一定的参考价值。

我最近开始学习硒,c#

请帮我解决我的问题。

在我的项目中,项目被添加到购物车。我需要检查它们是否已添加。为此我试图找到文本使用XPath,CssSelector或ClassName。但结果我有一个错误,驱动程序找到第一个元素,比较并显示错误:文本不匹配

如何让他进一步向下看树?

还是一些较短的方式?如果想象购物车中有30件商品,这个过程需要很长时间....

例如,当我使用Xpath时:

Assert.AreEqual("text to search",
            driver.FindElement(By.XPath("//div[@id='cartList2']/div[3]/div/div/span")).Text);

但是,所有项目都有相似的路径,每个项目可以是div [1] -2-3-4-5 ....(取决于它的添加顺序)

我的页面示例:

<div id="cartList2" class="k-listview k-widget">
    <div data-uid="c45003ff-536a-4293-b494-c6dde56c2d02" class="card-view k-widget ng-scope">
        <div class="row col-sm-12">
                <span bs-tooltip="" data-trigger="hover" data-container="body" data-placement="top" data-title="TEXT" class="col-xs-6 col-sm-6 description ng-scope ng-binding">TEXT</span>
            </div>
    </div>

    <div data-uid="91177f92-d790-47eb-8121-22eebe9e2610" class="card-view k-widget ng-scope">
        <div class="row col-sm-12">
                <span bs-tooltip="" data-trigger="hover" data-container="body" data-placement="top" data-title="TEXT" class="col-xs-6 col-sm-6 description ng-scope ng-binding">TEXT</span>
            </div>
    </div>
答案

use可以使用动态xpath,例如在你的情况下:// div [@ id ='cartList2'] / div [3] / div / div / span,你可以根据需要编辑div索引

以上是关于如果列表中的文本具有相似的路径,如何查找的主要内容,如果未能解决你的问题,请参考以下文章

Selenium webdriver:查找具有相似ID的所有元素

查找具有相似文本的文章的算法

如何在给定路径下查找具有与递归精确模式匹配的位置的目录名称列表[重复]

如何将列表视图中的数据从一个片段发送到另一个片段

循环遍历列表中的字符串

Excel如何对短文本进行模糊去重(按相似度去重)?