type='hidden'
Когда мы сталкиваемся с любым таким случаем, прежде всего нам нужно попробовать любое действие, которое не вносит никаких изменений на эту страницу, например, перетаскивание и т. д., а затем переключение кадров.
Попробуйте getText()
, если это не сработает, попробуйте приведенное выше в качестве второго варианта.
В этом примере есть несколько проблем.
Вы должны ожидать вызова функции getTitle, вы ожидаете внутри функции, но вы должны также ожидать вызова функции.
Вы должны окружить getTitle блоком try и catch и проверить внутри функции, есть ли возвращаемый заголовок (например, заголовок для Google равен нулю)
const puppeteer = require("puppeteer");
list = [
"https://www.facebook.com/",
"https://www.google.com/",
"https://www.zocdoc.com/"
];
const getTitle = async (p, url) => {
try{
await p.goto(url);
const title = await p.title();
if(title){
return title
}
}
catch(e) {
throw(e)
console.log(e)
}
};
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
console.log(this)
for (var url of list) {
try{
console.log(await getTitle(page, url))
}
catch(e ){
console.log('No title')
}
}
await browser.close();
})();