工作代码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')]"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。