Рассмотрим следующий код:
test("homepage has title and links to intro page", async ({ page }) => {
await page.goto("https://playwright.dev/");
const links = page.getByRole("link");
const count = await links.count();
console.info("count is " + count);
});
Из моей переменной count я знаю, что на странице 31 ссылка. Но разве я не должен также получить эту информацию в отладчике через ссылки переменные? Как мне «просмотреть» переменную ссылок, чтобы увидеть все ссылки и их количество?
В переменной links слева много "свойств", но я не вижу, как найти там что-то полезное:






Это невозможно, потому что переменная links не содержит этих данных: счетчики запрашиваются при вызове .count() . Единственный способ «просмотреть» ссылки — это оценить выражение await links.count() в отладчике и просмотреть результат или пройтись по вызову links.count() и посмотреть значение переменной counts.
Насколько я понял, вы хотите получить доступ к элементу DOM и прочитать его свойства. Если это то, что вам нужно, вы можете использовать locator.elementHandles(), который вернет Promise<Array<ElementHandle>>
и вы можете получить атрибут Element
test("homepage has title and links to intro page", async ({ page }) => {
await page.goto("https://playwright.dev/");
const links = page.getByRole("link");
const count = await links.count();
const handles = await links.elementHandles()
const attributePromises = handles.map(handle => handle.getAttribute('href'));
console.info(await Promise.all(attributePromises))
});