2012-03-07 11 views
0

皆さん、私は次のHTMLコードとイメージしていワチール-webdriverをクリック

:私は画像をクリックすると、私は新しい追加できるように

<div unselectable="on" class="x-grid-cell-inner x-unselectable" style="; text-align: right;" id="ext-gen1453"> 
<img alt=""src="data:image/gif;base64,FRFRFR/GFFFFFFFFFF==" class="x-action-col-icon x-action-col-0 folder-action-add folder-action" data-qtip="Add New Music File" id="ext-gen1300"> 

それはポップを開く必要がありますが音楽ファイル、いくつか試しましたが、その画像をクリックすることはできません。助言がありますか?

ありがとうございました

+0

これまでに試したコードをお見せできますか?また、「クリックすることができません」というエラーが表示されますか?または、期待された結果が表示されないだけですか? –

+0

レスポンスありがとうございましたJon、私はこの '@ browser.image(:text =>"新しい音楽ファイルの追加 ")を試しました。クリックして、' {tag_name => "img" 、:text => "新しいスマートフォルダの追加"}(Watir :: Exception :: UnknownObjectException) ' –

+0

ID(この場合は「ext-gen1300」)で要素の検索を試みましたか?マークアップには実際には 'text'属性しかなく、' data-qtip'属性しかありませんので、あなたが上に貼り付けたコードがそれを見つけられないのは驚くことではありません –

答えて

0

これまでのところ、要素を実際に識別する一貫した方法がありませんでした。あなたがコメントで言ったことから、あなたは存在しない 'text'属性と毎回異なるauto生成された 'id'属性を試しました。

要素を一貫して識別する方法を見つける必要があります。スタイリングとテストを簡単にし、脆弱にするには、要素に意味クラスを使用することが通常は望ましいです。いくつかのクラスが宣言されています。おそらく 'folder-action-add'はボタンの意図をはっきりと表していますか?そうでない場合は、「add-music-file」などのファイルを追加できます。

これでクラスを使って要素を選択するにはwatirを使用できるはずですが、私は構文に慣れていませんが、推測すると@browser.image(:class => 'add-music-file')がその仕事をする可能性があります。

2

クラスまたはクラスの部分一致でクリックできます。ここで

@browser.image(:class=>/folder-action-add folder-action/).click 

identifiers you can use for watirのリストである、私はそれがほとんどワチール-webdriverをも同じだと思います。

関連する問題