javascript - JavaFX WebEngine execute script to login -


i'm new javafx , js , working on webview portion of application. need load google calendar page, input username, click submit, input password, click submit (as per how login google calendar page). (btw browser variable in code below javafx webview object)

below portion of code

webengine engine = browser.getengine();         engine.load("https://calendar.google.com/calendar/render#main_7%7cmonth");         engine.setjavascriptenabled(true);         engine.getloadworker().stateproperty().addlistener(                 new changelistener<state>() {                      @override                     public void changed(observablevalue<? extends state> observable, state oldvalue, state newvalue) {                         if (newvalue == state.succeeded) {                             engine.executescript(""                                     + "document.getelementbyid('email').value = \"" + username + "\";"                                     + "document.getelementbyid('next').click();");                         }                     }                 });         engine.getloadworker().stateproperty().addlistener(                 new changelistener<state>() {                      @override                     public void changed(observablevalue<? extends state> observable, state oldvalue, state newvalue) {                         if (newvalue == state.succeeded) {                             browser.getengine().executescript("document.getelementbyid('passwd').value = \"" + password + "\";"                                     + "document.getelementbyid('signin').click();");                         }                     }                 }); 

this error message

exception in thread "javafx application thread" netscape.javascript.jsexception: typeerror: null not object (evaluating 'document.getelementbyid('passwd').value = "some_password"') 

the problem password inputting. after submit email address , click submit, webview object shows new page prompts password submission, reason, document returned browser.getengine() null , therefore, second method input password fails. has idea how fix this? thanks!


Comments