首页 > 解决方案 > 如何使用 Coypu 和 C# 获取 InnerText?

问题描述

我有以下 HTML:

<h1 _ngcontent-ng-cli-universal-c8="" class="title" id="greetingsLabel1"> Welkom, <span _ngcontent-ng-cli-universal-c8=""></span></h1>

当我这样做时,我正在使用coypu它来查找元素:

browser.FindId(GreetingsLabel1Path).InnerHTML

我得到:

Welkom, <span _ngcontent-ng-cli-universal-c8=""></span>

但我真的只是想要Welkom,。我尝试使用 InnerText 而不是 Inner HTML,但它不适用于 InnerText,它给出消息“ElementScope 不包含 InnetText 的定义,并且没有可访问的扩展方法‘InnerText’接受 ElementScope 类型的第一个参数无法找到(您是否缺少 using 指令或程序集引用?)”。

有什么办法可以只Welkom,使用 coypu 吗?

标签: c#htmlspecflowcoypu

解决方案


由于 span 标签嵌套在 h1 中,因此是 innerhtml 的一部分,因此您必须自己操作字符串来删除该部分。最可靠的方法可能是删除第一个空格之后的所有内容。

var innerhtmlString = browser.FindId(GreetingsLabel1Path).InnerHTML;
var welcometext = innerhtmlString.Split()[0];

现在您可以在测试中使用 var welcometext


推荐阅读