Как создать оповещения личных сообщений Авито, 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"]
Для остальных кнопок и полей ввода - аналогично.