2017-01-17 10 views
0

私はhttp://ventusky.com/をこすってみようとしています。マウスを移動すると、そのマウスポインタの近くにいくつかのデータが表示されます。私はseleniumを使用しています。ブラウザのコンソールを見ると、mousemoveイベントリスナーがこのデータを追加していることがわかります。私のコード。マウスの動きでdom要素を掻き集める

test = driver.find_element(:id,"h") 
driver.action.move_to(test, 100, 100).perform 
elem=wait.until{driver.find_element(:class,"yy")} 
puts elem.attribute "outerHTML" 

ただし、要素elemからのデータはありません。そのtextは空です。スクリプトが実行されているときにもブラウザー上で何も起こっていません。誰かが私にこの問題を理解させる手助けをすることができますか?私は廃車するのがかなり新しいです。

私はrubyを使用していますが問題はありません。私はルビー同等物を見つけることができます。

答えて

0

移動コマンドの前にスリープ状態になっていません。このページには読み込みに時間がかかりますので、finished_loading_elem=wait.until{driver.find_element(:id,"z")}を追加するか、他の言語のThread.Sleepのような暗黙の待機を追加してください。

また、100,100が検索バーに表示される可能性があるため、250,250のようにオフセットに移動することをお勧めします。

+0

私はコインを交換しようとしましたが、同じことを待っていました。しかし、 '' mousemove''イベントリスナーは呼び出されていません。 – raj

+0

ページの読み込みが完了したら、マウスの移動操作が行われましたか? – Moshisho

+0

ここで問題を理解しました。ウェブサイトをチェックアウトしてポイントをクリックすると、そのポイントの位置に新しい '' div''が追加されます。もう一度クリックします。それは消え去る。何らかの理由で次のクリックが '' div''を追加していません。要素を見つけることができないのでタイムアウトになります。 – raj

関連する問題