如何从父元素获取文本并从子元素中排除文本(C#Selenium)

如何从父元素获取文本并从子元素中排除文本(C#Selenium),第1张

如何从父元素获取文本并从子元素中排除文本(C#Selenium)

这是一个常见的问题,

selenium
因为您无法直接访问文本节点-
换句话说,您的XPath表达式和CSS选择器必须指向实际元素。

这是您的问题的可能解决方案的列表:

  • 获取父元素的文本,对于每个孩子,获取文本并将其从父文本中删除。您剩下的就是所需的文本-
    Google link
    在您的情况下。
  • 如果你想获得的
    Google link
    只是为了让一个断言,它可能是你会不会介意的,如果父母的文本清查 挞用
    Google link
    。请参阅
    StringAssert.StartsWith()
  • 获取
    outerHTML
    父级文本的并将其提要到HTML解析器,例如
    Html Agility Pack
    。遵循以下原则:
        string outerHTML = driver.FindElement(By.CssSelector(".linksSection > a#google")).GetAttribute("outerHTML");    Htmldocument html = new Htmldocument();    html.LoadHtml(outerHTML);    HtmlAgilityPack.HtmlNode a = html.documentNode.SelectNodes("//a[@id='google']");    HtmlNode text = strong.SelectSingleNode("following-sibling::text()");    Console.WriteLine(text.InnerText.Trim());


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5586122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存