Ich versuche zu kratzen http://ventusky.com/. Wenn die Maus bewegt wird, werden einige Daten in der Nähe dieses Mauszeigers angezeigt. Ich benutze selenium
. Wenn ich die Browser-Konsole anschaue, kann ich sehen, dass der Ereignis-Listener mousemove
diese Daten hinzufügt. Mein Code.Scraping ein Dom-Element mit der Mausbewegung
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"
Aber ich bekomme keine Daten vom Element elem
. Sein text
ist leer. Ich sehe nichts, was im Browser passiert, auch wenn das Skript ausgeführt wird. Kann mir jemand helfen, dieses Problem zu lösen? Ich bin ziemlich neu beim Verschrotten.
Ich benutze ruby
, obwohl es egal ist. Ich kann das Rubinäquivalent finden.
Ich habe versucht, Coords zu ändern und hinzugefügt warten, aber es ist das gleiche. Aber '' mousemove'' Event-Listener wird nicht aufgerufen. – raj
Sind Sie sicher, dass die Mausaktion nach dem Laden der Seite ausgeführt wurde? – Moshisho
Ich habe das Problem hier verstanden. Wenn Sie die Website besuchen und auf einen beliebigen Punkt klicken, wird ein neues "div" mit dem Ort des Punktes hinzugefügt. wenn ich noch einmal klicke. es verschwindet. Der nächste Klick aus irgendeinem Grund fügt nicht das '' div'' hinzu. Es wird Zeit überschritten, da es das Element nicht finden kann. – raj