2011-12-20 11 views
0

ページに同じプロパティを持つ4つのspan要素があります。私は次のコードで第4スパンをクリックしようとしました:Seleniumの要素の配列をアドレス指定するXpathリファレンス

selenium.click("css=span:contains('item12_21'):nth-child(4)"); 

しかし、 "要素が見つかりません"というエラーが表示されています。私は別の回避策で要素をクリックしようとしていますが、運はありません。私は階層全体を与えようとしましたが、タグの間に#documentというノードがあります。 Xpathで#documentを処理する方法を教えてください。

私はIE 7を持っており、アプリケーションはFirefoxと互換性がないので、私はIE開発ツールバーで作業しています。いずれか1つ私は問題を解決するために手伝ってください。

+0

「:contains」というようなCSSセレクタがないため、「要素が見つかりません」と表示されています。それは数年前にCSS3の仕様から抜け出しました。 –

答えて

1

基本XPathは次のようになります。

(//span[contains(., 'item12_21')])[4] 

//span[contains(., 'item12_21')] 

その後(私はあなたが欲しいどちら完全にはわからない)、あなたはそのフィルタリングされたリストから4番目の項目のいずれかを取得することができます

...か、このような第四の子孫であるすべての項目:

//span[contains(., 'item12_21')][4] 

ブラケットが優先Fを示しますまたは索引付け。

私は#documentアイテムがこれを使用してバイパスされることを望んでいますが、そうでない場合は、アイテムのコンテキストを表示するためにhtmlの一部を投稿する必要があります。

+0

入力をありがとう。 selenium.click( "// div [4] [contains(@ id、 'elMenu12')]/span [21] [contains(@ id、 'item12_21')]をクリックすると、 "); – user1065345

関連する問題