我想通过它的 href 找到一个元素,但由于有许多元素具有相同的 href ,因此我想指定另一个匹配的属性该元素例如( href 和__class_将使此元素唯一。)
FindElement(By.Xpath("//div[contains(@class, 'bla bla') and a//[contains(@href, 'My element')]"));
<div class="bla bla">
<ul class="list-unstyled">
<li class="test">Our job</li>
<li><a href="/123">123</a></li>
我要找的是href“ / 123 ”的元素
有任何建议我如何才能完成这项工作?
答案 0 :(得分:1)
鉴于你的描述:
我正在寻找的是这个href(/ 123)
这是如何找到它:
WebElement blabla = driver.findElement(By.className("bla bla"));
blabla.findElement(By.linkText("123"));
或一次性通过xpath:
driver.findElement(By.xpath("//div[@class = 'bla bla']//a[@href = '/123']"));
但是在你的文字中你说过你的几个链接有相同的href?您的示例仅包含一个链接,因此包含一个唯一的href。 如果是这种情况,则需要在父元素中查找更多唯一定位器。
以上是Java,因此要保留第一行C#代码,请执行以下更改:
FindElement(By.Xpath("//div[contains(@class, 'bla bla')]//a[contains(@href, 'My element')]"));