Невозможно выполнить запрос по селектору для ElementHandle после использования Page.setContent () в Puppeteer - PullRequest
0 голосов
/ 27 октября 2019

Прежде всего, посмотрите на этот простой пример:

const browser = await puppeteer.launch();
const page = await browser.newPage();

await page.setContent('<html><div><a class="link">Click here</a></div></html>');

const elementHandle = await page.$('div');
const elementHandleWithNull= await elementHandle.$('a.link');

Когда я устанавливаю содержимое на страницу методом Page.setContent, и когда я хочу запросить элемент с помощью селектора в page - это нормально.

Но, когда я пытаюсь что-то сделать с возвращенным ElementHandle объектом из page.$('div') - это невозможно. elementHandle действительно является ElementHandle объектом, но без HTML-содержимого. Когда вы пытаетесь запросить что-то, например, методом $(), вы получаете null значение.

Я работаю над: Node.js v. 12.6.0 Протестировано на Puppeteer v. 1.12.2 и 2.0. 0

Что случилось? Это ошибка или какая-то спецификация setContent?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...