我最近开始学习selenium,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>
答案 0 :(得分:0)
使用可以使用动态xpath,例如你的情况:// div [@id =&#39; cartList2&#39;] / div [3] / div / div / span,你可以根据需要编辑div索引