这是一个常见的问题,
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());
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)