Как создать оповещения личных сообщений Авито, JavaScript возможен?

Хочу написать парсер для Авито и доставать из личного профиля количество непрочитанных сообщений. Но Puppetteer, открывая мой профиль, не может ввести имя и пароль потому что я не могу указать ему поле для ввода через ID. При запуске данного кода вылезает ваш модальное окно у которого нет ID. Как решить данную проблему без ID или найти его ?

//console.log("Hello world")

const puppeteer = require(`puppeteer`);

(async () =>{
    const browser = await puppeteer.launch({headless:false})
    const page = await browser.newPage()
    await page.goto(`https://www.avito.ru/profile/messenger`)
    
   // await page.screenshot({path: `img.png`})
const targetInput = '#value';//id нужного инпута  
 await page.waitForSelector(targetInput);  
 await page.type(targetInput,"ваши данные");  
 const submitButton = '#submit';//id кнопки
подтверждения  
 await page.waitForSelector(submitButton);   
await page.click(submitButton);

   let arr = await page.evaluate (() => {
       let text = document.querySelector(`h3`).innerText
       return text

   })

console.log(arr)
    // await browser.close() })()

Ответы (1 шт):

Автор решения: Grundy

waitForSelector принимает css селектор, а не только id.

Выбрать нужные инпуты можно по атрибуту data-marker.

Для логина его значение будет [data-marker="login-form/login/input"] Для остальных кнопок и полей ввода - аналогично.

→ Ссылка