Ich habe den folgenden JavaScript-Code, der null
zurückgibt, wenn Selenium JavascriptExecutor
durchlaufen wurde. Derselbe Code, der in der Firefox-Entwicklerkonsole ausgeführt wurde, hat jedoch einen Wert zurückgegeben.
Das Folgende ist mein WebDriver-Code mit dem JS wie oben:
%Vor% Oben Ausgaben null
anstelle von "Text" -String. Irgendwelche Ideen?
Sie müssen return tmp () anstelle von tmp () in der executeScript () -Methode verwenden. Finden Sie die verwandte Referenz driver.executeScript () gibt NullPointerException für einfaches JavaScript
zurück Das Problem ist, dass Sie zwei Anweisungen in executeScript()
ausführen. Die Funktionsdefinition von tmp () und der Funktionsaufruf von tmp ().
Ich kenne die Details nicht, aber die Funktionsdefinition scheint null zu liefern.
Da executeScript den ersten Wert zurückgibt, der zurückgegeben werden kann, gibt es null zurück. Wenn Sie die Funktion nicht definieren und den Code inline schreiben, wird es funktionieren.
%Vor%Dies sollte Ihren erwarteten Wert drucken.
Bearbeiten: Auch der von Ihnen gepostete Code wird nicht von ""
around [name='q']
entfernt. Dies beendet die Zeichenfolge und führt zu Syntaxfehlern.
Tags und Links javascript nullpointerexception selenium selenium-webdriver