Java
 Computer >> コンピューター >  >> プログラミング >> Java

XPathで (空白)を含むテキストを検索する方法|normalize-space関数の使い方

XPathで や空白を含むテキストを検索する方法

Web自動テストでは、 (ノーブレークスペース)や余分な空白を含むテキストを持つ要素を、XPathロケーターで特定したいケースがあります。まずは、前後に空白が含まれているWeb要素のHTMLコードを確認してみましょう。下の画像の例では、strongタグで囲まれた「JAVA BASICS」というテキストに空白が含まれていることが、HTMLコードから読み取れます。

XPathで (空白)を含むテキストを検索する方法|normalize-space関数の使い方

要素のテキストや属性値に空白が含まれている場合、そのような要素に対するXPathを作成するにはnormalize-space関数を使用します。この関数は、文字列から前後(先頭・末尾)の空白をすべて取り除くだけでなく、文字列内に含まれるタブや改行もまとめて削除してくれる便利な機能です。

構文

//tagname[normalize-space(@attribute/function) = 'value']

それでは実際に試してみましょう。ページ上の「JAVA BASICS」というWeb要素に対して、まずは空白を考慮せずに //strong[text()='JAVA BASICS'] というXPathを作成します。ブラウザのConsoleで $x("//strong[text()='JAVA BASICS']") という式を使って検証すると、マッチする要素は一件も見つかりません(length – 0 と表示されます)。これは、テキストに含まれる空白が原因です。

XPathで (空白)を含むテキストを検索する方法|normalize-space関数の使い方

そこで、normalize-space関数を使ったXPath式を作成します。式は以下のようになります。

//strong[normalize-space(text())='JAVA BASICS']

実行結果

XPathで (空白)を含むテキストを検索する方法|normalize-space関数の使い方

この式をConsoleで $x("//strong[normalize-space(text())='JAVA BASICS']") のように検証すると、今度はマッチする要素が正しく見つかります(length – 1 と表示されます)。

取得された結果の上にカーソルを合わせると、ページ上の「JAVA BASICS」というテキストがハイライト表示され、目的の要素が正しく特定できたことを視覚的に確認できます。

  1. JavaのOpenCVライブラリで画像にテキストを追加・描画する方法

    putText()メソッドとはJavaでOpenCVライブラリを使用して画像にテキストを追加するには、org.opencv.imgproc.Imgprocクラスが提供するputText()メソッドを利用します。このメソッドを呼び出すと、指定した画像上に任意の文字列を描画できます。putText()メソッドの引数putText()メソッドには、以下のパラメータを渡します。処理対象の画像を格納するMatオブジェクト描画したいテキストを指定するStringオブジェクトテキストの表示位置(左下基準)を指定するPointオブジェクトフォントの種類を指定する整数定数(例:Imgproc.FONT_HERS

  2. Macでテキストショートカットを使う方法|設定からバックアップ・復元まで徹底解説

    以前、iOSデバイスでテキストショートカットを使って素早く効率的に入力する方法をご紹介しましたが、実はMac(OS X/macOS)にも同じ機能が搭載されています。短い「フレーズ」や「数文字の組み合わせ」を登録しておくと、そのショートカットを入力した瞬間に、あらかじめ設定した長い文章へ自動的に展開される便利な機能です。 この記事では、Macでのテキストショートカットの設定方法に加えて、登録したショートカットのバックアップ(保存)と復元の方法まで、詳しく解説していきます。 Macでテキストショートカットを設定する手順 テキストショートカットを設定するには、以下の手順に従ってください。 1. シ