私はSeleniumを初めて使用するので、その質問はばかげているかもしれませんが、解決できません...
画面に確実に表示されて表示される要素で、Selenium (Eclipse および Firefox および Chrome ドライバーを使用) で click() を作成しようとしていますが、メソッドをfalse
適用すると返されます。isDisplayed()
そのため、アクションを実行するには要素が表示されている必要があるという例外が発生します。
私はすべての親divをチェックしました(私は自分のページでiframeを使用していません)true
. これが私がやろうとしていることのコードの小さな例です:
<div id=1><div id=2><div id=3><div id=4><img that i want to click on with selenium\></div></div></div></div>
セレンでimgをクリックしたいのですが、表示されていないように見えます。
- 画像は非表示としてマークされています
- div4 は非表示としてマークされています
- div3 はセレンによって表示されるようにマークされています
- div2 は非表示としてマークされています
- すべての親 div として、div1 は表示済みとしてマークされます
しかし、画面の同じ div に画像やその他の要素が確実に表示されます。
その点で何か助けはありますか?ありがとう !
EDIT:JSを使用してこれらのプロパティ、特に表示されず、読み込み時に表示されないとマークされているdiv 3を変更しますが、いくつかのアクションの後、表示されます(表示され、表示されます)。
編集2:セレンによって表示されないとマークされた2つのdivのスタイルには、両方のスタイルがあることがわかりましたdisplay:block;
(クロム開発ツールで見られます)。何か案は ?
Edit3 : コメントで指定されたリンクに基づいて、計算された div のスタイルを追加します:
- div4 : 高さと幅がゼロではなく、表示はブロックに設定されています。最小幅と最小高さもあります。
- div3 : 高さと幅がゼロではなく、表示もブロックに設定されています
- div2 : 高さ 0、幅 0 以外、display:block があります。だからそれが問題かもしれません。
- div1 : 高さが 0 で、幅が sero ではなく、表示パラメータがなく、overflow-x と y が非表示になっています。これはSeleniumによって表示されないとマークされていると思いました...
何か案は ?