Я заметил, что вы не можете просто запустить кукловод в своем скрипте, и для этого требуется подключение к существующему браузеру WSEndpoint.Я пытаюсь удалить данные с веб-сайта, когда пользователь нажимает кнопку отправки на веб-странице.
Я просмотрел найденные сообщения здесь , но не смог получить ихработать с любым из решений.Я знаю, что вы можете открыть браузер отладчика и подключиться к конечной точке, но ссылка меняется каждый раз, что не очень удобно, особенно если ее используют другие люди.
Пока у меня это есть в моемКласс сервера node.js:
var express = require('express');
var app = express();
app.use('/public', express.static('public'));
app.use('/node_modules', express.static('node_modules'));
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html')
});
app.listen(3000);
Я пытался создать прокси-сервер, как предложено в ссылке, но безуспешно.Мой сценарий, где я пытаюсь запустить кукловод, выглядит так:
const puppeteer = require('puppeteer');
async function getTitle() {
const browser = await puppeteer.connect({
browserWSEndpoint: 'ws://127.0.0.1:9222/devtools/browser/9f0a2240-2cb7-4efa-ac3c-8ef883d36d12',
});
const page = await browser.newPage();
await page.goto('http://example.com');
const title = await page.title();
await page.close();
await browser.disconnect();
return title;
}
getTitle().then(console.log);
browserWSEndpoint меняется каждый раз, когда вы снова открываете браузер, насколько я знаю, что не идеально, поскольку веб-приложение не будет работать, если вы не меняете каждый раз исходный код,Кроме того, я даже не уверен, как найти ссылку / devtools / browser.Все, что я нашел при поиске, это набрать chrome.exe и некоторые флаги, затем перейти к localhost: 5200 или что-то в этом роде.Тем не менее, я вижу только / devtools / pages / .. на этой странице.Хотя это не было решением, которое я искал в любом случае.
Есть ли способ запустить экземпляр кукловода в каком-то веб-сокете, который создается динамически, а затем подключить скрипт к этому экземпляру кукловода, когда это необходимо?Я совершенно новичок в веб-сокетах, поэтому, возможно, одно из решений в приведенной выше ссылке было тем, что я искал, но я не совсем понял, чего мне не хватало.