电子WebView DOM元素在执行期间返回null

时间:2018-08-10 03:57:13

标签: javascript electron

我一直在定义如下的Webview中获取DOM元素的空值:

man hostname

但是,当我从Webview的开发人员控制台中运行同一段代码时,我成功获取了元素。我在做什么错了?

这是我尝试的方法:

以下每个步骤都是由root@srv:~# hostname --all-ip-addresses 11.12.13.14 192.168.15.19 root@srv:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/void inet 11.12.13.14/32 scope global venet0:0 inet 192.168.15.19/32 scope global venet0:1 事件直接或间接触发的。

1)从主进程运行:

<webview id="androidMessagesWebview" src="https://messages.android.com/" autosize preload="preload.js"></webview>

2)在渲染过程中运行:

did-finish-load

3)从preload.js内部运行

mainWindow.webContents.executeJavaScript(`
  androidMessagesWebview.executeJavaScript(\`
    console.log("Reached");
    console.log(document.querySelector('[aria-label="New conversation"]'))
  \`)
`);

1、2和3分别独立运行,并且都在androidMessagesWebview.openDevTools()控制台上提供了相同的输出:

androidMessagesWebview.executeJavaScript(`
  console.log("Reached");
  console.log(document.querySelector('[aria-label="New conversation"]'))
`);

0 个答案:

没有答案