Как посмотреть содержимое объектов Locator в отладчике?

Рассмотрим следующий код:

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 слева много "свойств", но я не вижу, как найти там что-то полезное:

Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
2
0
117
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это невозможно, потому что переменная 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))
});

Другие вопросы по теме