Я хочу использовать утилиту «Выберите элемент на странице, чтобы проверить его» * 1001 * в инструментах разработчика Chromium, чтобы позволить пользователю выбрать элемент в приложении Electron.
Например, должна быть загружена страница или файл. Затем при вызове функции пользователю должна быть предоставлена возможность выбрать элемент, как если бы он открыл свои инструменты разработчика и нажал кнопку проверки элемента. Щелчок по элементу для его проверки должен привести к вызову функции с проверяемым элементом без открытия инструментов разработчика. Предполагается, что это встроенный способ выбора элементов на странице без необходимости переписывать код, чтобы обеспечить этот стиль системы выбора точки, выделения и щелчка.
Предполагаемое использование: следует
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 на страницу, просто пытался избежать этого, если вообще возможно)
Поиск в документации API Electon пролил свет на метод contents.inspectElement(x, y)
. Это звучит так, как если бы это позволяло выбрать элемент для проверки с позиции x, y на странице, но ничего не упоминает о доступе к теперь проверяемому элементу удаленно. Я также могу представить, что это приведет к открытию инструментов разработчика, если они еще не открыты, чего, надеюсь, можно избежать.
EDIT: Из того, что я видел, я не полагаю, что будет возможно легко использовать селектор элемента inspect, не открывая инструменты разработчика. По этой причине будут приниматься ответы, требующие, чтобы инструменты разработчика были открыты, но предпочтительно, чтобы инструменты разработчика не были открытыми.