如何使用Coypu和C#获取InnerText?

时间:2019-11-07 08:16:24

标签: c# html specflow coypu

我有以下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而不是InnerHTML,但它不适用于InnerText,它显示消息“ ElementScope不包含InnetText的定义,并且找不到可访问的扩展方法'InnerText',该方法无法接受第一个ElementScope类型的参数(您是否缺少using指令或程序集引用?)”。

有什么方法可以使用海狸鼠获得Welkom,吗?

1 个答案:

答案 0 :(得分:0)

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

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

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