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

回到顶部