Да, это возможно. Оба варианта, которые вы описываете, являются жизнеспособными. Проще всего было бы проверить поступающие запросы.
Проверка запросов / URL
Вот пример кода, который проверяет, какие запросы происходят, перечисляя событие request
. Имейте в виду, что запрос может происходить где угодно на странице (например, в iframe). В зависимости от вашего варианта использования, вы можете также захотеть проверить, произошел ли запрос на главной странице (используя page.url()
).
page.on('request', request => {
const url = request.url();
if (url === '...') {
// trigger event
}
});
Проверка элемента
Если вы хотите проверить, присутствует ли конкретный элемент на странице, вы можете дождаться события domcontentloaded
, а затем проверить, присутствует ли элемент:
page.on('domcontentloaded', () => {
const element = page.$('#element-selector');
if (element) {
// element is present, trigger event
}
});
Имейте в виду, что это будет проверяться только один раз . Чтобы постоянно проверять наличие элемента, вы можете использовать MutationObserver
(см. Пример для здесь ).