Thread Selenium: mit execute_script ein Event auslösen
(0 answers)
Opened by roli at 2015-10-28 13:08
Hallo zusammen,
nachdem ich jetzt viel im Netz gesucht habe, aber nichts geholfen hat, frage ich mal wieder hier. ich habe folgendes Input Element: Code: (dl
)
<input type="text" onblur="h127(this);" onfocus="h7(this);" onkeydown="h142(event);" onchange="h3();" cid="96" id="e227" maxlength="13" "="" value="0.0" tabindex="334"> Hier muß ich einen neuen Wert hineinschreiben. Mit send_keys habe ich schon sehr viel ausprobiert. Jetzt möchte ich das ganze gerne mal anders angehen. Code (perl): (dl
)
1 2 3 4 5 my $script = q{ arguments[0].setAttribute(arguments[1], arguments[2]); }; $main::driver->execute_script($script, $element, $attribut, $wert); Damit kann ich zuverlässig neue Werte schreiben. Das $element auf ein falsches Element zeigt kann ich ausschließen, da ich auf dem Bildschim den neuen Wert aus $wert sehe. Jetzt fehlt "nur" noch das auslösen des Events, was mir einfach nicht gelingen will. Folgenden JS-Code habe ich, einzeln und nacheinander, versucht via execute_script auszuführen: Code: (dl
)
1 document.dispatchEvent(arguments[0]); Je nachdem was davon ich ausprobiere, erhalte ich andere Fehlermeldungen, oder wie z.B. bei "arguments[0].setAttribute('onchange', 'changeitem(this)');" einfach nichts. Danke <update>14:50 Frage jetzt auch auf Stackoverflow</update> Last edited: 2015-10-28 14:50:44 +0100 (CET) Roland
-- "Steh vorn, während du fragst; sitzen soll, wer antwortet." Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2 |