Это дублирующий вопрос к node js Метаданные кукловода На момент написания этого вопроса у меня не было достаточно репутации, чтобы комментировать вопрос.Я пишу несколько тестовых сценариев для проекта и хочу проверить некоторые теги метаданных seo.
Я проверяю свой селектор в инструментах разработчика Chrome, и он отлично работает.
document.querySelectorAll("head > meta[name='description']")[0].content;
и яполучить данные без проблем
, но когда я пытаюсь заставить их работать внутри моего сценария тестирования, я не могу удержать селектор.
describe('guest jobs page', function () {
const {expect} = require('chai');
let page;
before(async function () {
page = await browser.newPage();
await page.goto('https://page');
});
after(async function () {
await page.close();
})
it('should have the correct page title', async function () {
expect(await page.title()).to.eql('page - Jobs');
});
it('should have the correct page description', async function () {
const DESCRIPTION_SELECTOR = "head > meta[name='description']";
await console.log( await page.evaluate((DESCRIPTION_SELECTOR) => document.querySelectorAll(DESCRIPTION_SELECTOR)));
expect(await page.$eval(DESCRIPTION_SELECTOR, element => element.textContent)).to.eql('page description content');
//this fails as no content is returned
//AssertionError: expected '' to deeply equal 'page description content'
});
});
любая помощь будетЯ ценю, я не знаю, как прикрепить этот вопрос к предыдущему, не комментируя, поэтому, если бы кто-то мог просветить меня об этом, я также был бы очень благодарен.Благодарю.