以下のようなコードを書いて、electronのwindow内に作ったWebViewの中の情報を取得しようとした。
let webview = document.createElement('webview'); webview.addEventListener('did-finish-load', function() { // 第1引数に内部で実行したいJavaScript文を // 第2引数にそのコールバックを渡す webview.executeJavaScript( "return { hoge: document.querySelector('div.foo.bar>a.baz').href}", function(res) { console.log(res); } ); }); document.body.appendChild(webview); webview.src = "http://example.com";
ぜんぜん動かない
解決
webview.addEventListener('did-finish-load', function() { // 第1引数に内部で実行したいJavaScript文を // 第2引数にそのコールバックを渡す webview.executeJavaScript( - "return { hoge: document.querySelector('div.foo.bar>a.baz').href}", + "{ hoge: document.querySelector('div.foo.bar>a.baz').href}", function(res) { console.log(res); } ); });
雑感
returnしたらあかんとか知らんがな
DRYな備忘録として