我希望利用 chrome 的开发工具中的“选择页面中的元素来检查它”Ctrl + Shift + C
实用程序,以便允许用户选择电子应用程序上的元素。
例如,应该加载一个页面或文件。然后,在调用一个函数时,用户应该能够选择一个元素,就像他们打开了开发工具并按下了检查元素按钮一样。单击一个元素来检查它应该会导致一个函数被检查的元素调用。而不打开开发工具。其目的是,这是一种内置的方式来选择页面上的元素,而不需要重写代码,以允许这种风格的点,突出显示,并单击选择系统。
预期用途如下
const {app, BrowserWindow} = require('electron');
app.on('ready', function() {
let window = new BrowserWindow();
window.loadURL('https://stackoverflow.com/');
// This should trigger the inspect element tool
window.getElementFromInspector(function(element) {
// This should be called after an element is selected with the inspect element tool
});
});
我们并不期望窗口必须包含.getElementFromInspector(callback: function)
方法。但是,解决方案应该在功能上类似于建议的用法。(即使它需要将外部JavaScript加载到页面中,只要可能,我们就尽量避免它)
在Electon的API文档中做了一些研究,发现了contents.inspectElement(x, y)
方法。这听起来好像允许从页面上的x,y位置选择元素进行检查,但没有提到远程访问现在检查的元素。我还可以想象这会导致打开开发人员工具,如果还没有打开的话,这是希望可以避免的。
**EDIT:**从我所看到的,我不相信在不打开开发人员工具的情况下使用inspect元素选择器是可能的。因此,需要打开开发人员工具的答案将被接受,但最好不需要打开开发人员工具。
3条答案
按热度按时间raogr8fs1#
**好消息!**这里有一个非常干净的解决方案。我完全理解你所面临的特殊问题。
安装电子上下文菜单
如果您使用的是Npm(learn more about NPM here)
否则使用Yarn(learn more about Yarn here)
第1步:了解上下文菜单的工作原理
步骤2:使用自定义行为向上下文菜单添加项目
详细了解此方法-Way 1Github repo of electron-context-menu
我希望,它会对你有帮助:)快乐编码。
gojuced72#
这与inspect element实用程序一样完成了inspect on hover,但是不会突出显示元素,还需要显示开发人员工具才能工作。
这并不完全是我想要的,也不是在我想要的庄园里,但这是我能够解决这个问题的最接近的方法。
piztneat3#
我找到了解决办法:(在元素上单击鼠标右键+ Shift)
main.js:
preload.js:
这是我第一次在这里回答问题,我需要写更多,但我的英语不好:((