2

いくつかのコンテキストメニューを含むHTMLサイトがあります。xpathは.//*[@id='TopIcon_Edit']/a/spanです。(このパスはいくつかの要素にヒットします)私のテストでは、コンテキストメニューの1つが表示されます。

次に、ExpectedConditions.visibilityOfElementLocated(By.xpath( ".// * [@ id ='TopIcon_Edit'] / a / span"))を使用して、1つのコンテキストメニューが表示されていることを確認します。コンテキストメニューが表示されていることはわかりますが、テストでは「要素がBy.xpathによって配置された要素の条件の可視性を満たしていません:...」と表示されます。

Seleniumが正しく言っているように、メソッドvisibilityOfElementLocated(...)は、ロケーターによって最初に検出された要素の可視性を評価するだけであると想定しています。

この問題を解決するためのヒントをいただければ幸いです。

よろしくお願いいたします。GerhardSchuster

4

2 に答える 2

0

はい、Seleniumで単一の要素を検索し、結果が複数の要素を返す場合、メソッドは最初の要素を取得して返します。したがって、使用するxpathをより正確に指定する必要があります。たとえば、「。// * [@ id ='TopIcon_Edit'] / a [1] / span」など、目的の要素のみを指すようにします。

于 2013-01-25T10:15:14.133 に答える