textContents、innerText、および innerHtml の違い

  • textContents は、書式設定のみを目的とする要素およびその子要素に含まれるすべてのテキストです。
  • innerText は、要素およびその子要素に含まれるすべてのテキストを返します。
  • innerHtml は、要素に含まれるすべてのテキスト(html タグも含む)を返します。

以下の html コードについて検討します。

<div id="mylinks">
  This is my <b>link collection</b>:
  <ul>
    <li><a href="www.borland.com">Bye bye <b>Borland</b> </a></li>
    <li><a href="www.microfocus.com">Welcome to <b>Micro Focus</b></a></li>
  </ul>
</div>

以下の表に、返されるプロパティの詳細を示します。

コード 返される値
browser.DomElement("//div[@id='mylinks']").GetProperty("textContents")
This is my link collection:
browser.DomElement("//div[@id='mylinks']").GetProperty("innerText")
This is my link collection:Bye bye Borland Welcome to Micro Focus
browser.DomElement("//div[@id='mylinks']").GetProperty("innerHtml")
This is my <b>link collection</b>:
<ul> 
  <li><a href="www.borland.com">Bye bye <b>Borland</b></a></li>
  <li><a href="www.microfocus.com">Welcome to <b>Micro Focus</b></a></li> 
</ul>
注: Silk Test 13.5 以降で、要素の textContents プロパティを介して取得されるテキストの空白はサポートするブラウザすべてで一貫してトリムされます。ブラウザのバージョンによっては、この空白の処理方法が Silk Test 13.5 以前の Silk Test バージョンで異なる場合があります。以前の動作を有効にしたい場合、OPT_COMPATIBILITY オプションを 13.5.0 より低いバージョンに設定してください。たとえば、オプションを Silk Test 13.0 に設定するには、スクリプトで次のように入力します:
'VB .NET code
Agent.SetOption("OPT_COMPATIBILITY", "13.0.0")
// C# code
Agent.SetOption("OPT_COMPATIBILITY", "13.0.0");