Ich habe eine HTML-Datei:WebDriver Javascript: Wie erhält man ein umfassendes DOM, wenn das Skript in Firefox ausgeschaltet ist?
<div id="test">Hello World</div>
<script>document.getElementById("test").innerHTML = "Test";</script>
Mit Selenium WebDriver mit Javascript Binding, ich mag einen umfassenden DOM der HTML-Datei, wie zum Beispiel Liste der Attribute eines Elements erhalten, Namespace jeden Attributs, Namespace das Element und so weiter.
Ich verwende die ExecuteScript Methode, das zu extrahieren, weil einfach nicht Selen nicht, dass die API noch haben, zum Beispiel:
driver.executeScript("return document.lastChild.attributes.length;");
Das Problem ist, möchte ich DOM der HTML-Datei extrahieren, während das Skript zu sein, ist ausgeschaltet. Ich habe JavaScript in Chrome deaktiviert und kann weiterhin das Skript von Selenium ausführen, um das DOM zu erhalten. Aber wenn es um Firefox geht, konnte ich es leider nicht schaffen. Das Skript wird blockiert, und ich bekam Fehlermeldung:
JavascriptError: waiting for evaluate.js load failed
Ich habe versucht, zu aktivieren und die Javascript zu deaktivieren, indem Sie auf der über die Einstellung: config oder sogar Skript-Blocker add ons wie NoScript und yesscript haben, aber kein Glück. Es scheint, als wenn das Javascript auf dieser Seite einfach ausgeschaltet ist, kann Selenium kein Skript ausführen.