#c# #puppeteer #puppeteer-sharp
#c# #кукловод #puppeteer-sharp
Вопрос:
Мне нужно отключить все расширения в браузере Chrome с помощью Puppeteer. Я использовал --disable-extensions
аргумент, подобный приведенному ниже.
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true,
ExecutablePath = ChromePath,
IgnoreHTTPSErrors = true,
Args = new[] { "--disable-extensions" },
});
Когда я пытаюсь загрузить URL-адрес файла (например https://winaero.com/downloads/Win7Games4Win10_8_81_v2.zip ), Internet Download Manager
появится всплывающее окно, чтобы начать загрузку. Я использую безголовый режим, чтобы скрыть все, и я использовал --disable-extensions
для отключения любого расширения, подобного Internet Download Manager
.
Почему это не работает? в чем проблема?
Ответ №1:
Не уверен, что вы можете отключить встроенный менеджер загрузок с --disable-extensions
помощью.
Другой подход, если ZIP's
вы просто хотите остановиться, — вставить этот код в:-
await page.setRequestInterception(true);
page.on('request', request => {
if (request.url().endsWith('.zip'))
request.abort();
else
request.continue();
});
Вы также можете указать URL-адрес в нижнем регистре, чтобы также перехватить .ZIP
abnd и т. Zip
Д
Также в вашем goto вам нужно будет прервать запрос, например
await page
.goto("https://winaero.com/downloads/Win7Games4Win10_8_81_v2.zip")
.catch(r => r.abort);
Комментарии:
1. как IDM захватывает ссылки из Chrome? как Chrome позволяет передавать URL-адрес в IDM?
2. я не уверен, что понимаю вас. Когда вы вызываете
page.goto
это ZIP-файл, он загружает его 🙂3.Я говорю о сторонних программах, таких как
IDM
internetdownloadmanager.com . Как они захватывают ссылки и URL-адреса из Chrome, так что решайте, загружать или нет? Надеюсь, я понял 🙂4. Ах, я понимаю, в этом случае вам нужно будет перехватить запрос и прервать его, чтобы IDM вообще не сработал. IDM является внешней программой и, вероятно, перехватывает запросы вне браузера. То есть он независимо отслеживает сетевые запросы