2012-02-29 32 views
2

私は多少オートメーションには新しく、すべてのことを自動学習しているので、私の用語が少しばかりであれば私を許してください。私はこの質問への答えのために高低を検索しましたが、何かを見つけることはできません。とにかくこれは私の小さな語彙だと思っています...とにかく...Selenium IDEでのワイルドカードの使用

私はレコーダーを使ってチュートリアルを完了するために必要なすべてのアクションを実行するテストを書いてみようとしています。ただし、1つの特定のステップでは、要素IDが変更されます。

//li[@id='message_661119']/div[2]/div[2]/a/img 

しかし、チュートリアル「クエスト」、IDの変更の数を実行しているそれぞれの新しいユーザーのために:たとえば、私はクリックにしようとしているIDはこれです。

Seleniumにワイルドカードを認識または使用させる方法はありますか?例:

//li[@id='message_******']/div[2]/div[2]/a/img 

もちろん、上記の例は機能しません。

アドバイスは非常に役に立ちます。ありがとうございました!!

答えて

9

あなたはこのためにstarts-with()を使用することができます。

//li[starts-with(@id, 'message_')]/div[2]/div[2]/a/img 

それはstarts-with()のためのセレンのドキュメントにLocating Techniquesで述べた例の一つです。

+4

私はできればあなたにキスします。どうもありがとうございます。私は、Locating Techniquesをより徹底的に見直します。 <3 <3 <3 – btdeviant

+2

あなたのリンクは死んでおり、[こちら](http://docs.seleniumhq.org/docs/02_selenium_ide.jsp#locating-elements)が同じ内容を指しているかどうかは分かりません。 – rene

+2

@rene: 'starts-with()'について言及していないので、そうではありません。ドキュメントがサイトのどこにも存在しなくなったため、ドキュメントを見直したようです。 – BoltClock

1

Selenium IDEのコマンドのTargetフィールドに、message_123123が表示されます。ドロップダウンリストをクリックして、xpath:idRelativeに関連するオプションを選択するか、このオプションが機能しない場合は、それを含まない別のオプションを試してください迷惑なメッセージ_123123このように、あなたはidではなくその場所でWebページの要素を識別します。私はこのように私の問題を解決しました

+0

よく隠れています。代わりの "ターゲット"セレクタを見つけるのに非常に便利です。 – user18099

関連する問題