selenium:如何通过部分href查找元素?
工作代码1:
Driver.Instance.FindElement( By.XPath("//a[contains(@href,'" + PartialLinkHref + "')]" ));
工作代码2:
ReadOnlyCollection<IWebElement> linkList = Driver.Instance.FindElements(By.TagName("a"));for (int i = 0; i < linkList.Count ; i++)
{
if (linkList[1].GetAttribute("href").Contains(PartialLinkHref))
{
element.SetElement(linkList[i]);
return element;
break;
}
}
回答:
初始选择器的问题是缺少//
选择器的前面。在//
告诉XPath来搜索整个HTML树。
这应该可以解决问题:
Driver.Instance.FindElement(By.XPath("//a[contains(@href, 'long')]"))
如果要查找元素的子代,请.//
改用,例如
var element = Driver.Instance.FindElement("..some selector..")var link = element.FindElement(".//a[contains(@href, 'long')]"))
如果要查找包含 而不是href属性的链接,则可以使用
Driver.Instance.FindElement(By.XPath("//a[contains(text(), 'long')]"))
以上是 selenium:如何通过部分href查找元素? 的全部内容, 来源链接: utcz.com/qa/433692.html