Как мне прочитать содержимое класса span с помощью python playwright

#python #playwright

#python #драматург

Вопрос:

Я хочу прочитать партитуру с веб-страницы. Оценка находится в:

 <span _ngcontent-fnp-c148="" class="score"> amp;nbsp;<!--bindings={
"ng-reflect-ng-if": "false"
}--> 96%, </span>
 

Здесь результат будет равен «96%».

Я бы хотел либо выполнить поиск по имени класса «оценка» напрямую, либо, если это необходимо, поместить весь HTML-код страницы в строку и выполнить поиск по нему вручную. Подход к тому, чтобы сделать и то, и другое, был бы хорош.

Я использую python playwright, но я предполагаю, что методы должны быть аналогичны оригиналу.

Ответ №1:

Для этого вы можете использовать метод Page.innerText(«.score»), см. Пример здесь:

 // @ts-check
const playwright = require("playwright");

(async () => {
  const browser = await playwright.chromium.launch();
  const context = await browser.newContext();
  const page = await context.newPage();
  await page.setContent(`
    <span _ngcontent-fnp-c148="" class="score"> amp;nbsp;<!--bindings={
"ng-reflect-ng-if": "false"
}--> 96%, </span>
`);
  const content = await page.innerText(".score")
  console.log(content)
  await page.screenshot({ path: `example.png` });
  await browser.close();
})();
 

Или в интерактивном режиме здесь: https://try.playwright.tech/?s=bl1fed4

Для использования Python смотрите Здесь: https://microsoft.github.io/playwright-python/sync_api.html#playwright.sync_api.Page.innerText

Комментарии:

1. Могу я спросить, почему они помечены буквой «.» спереди?

2. @ValentinMetz это селекторы CSS. Они используются для идентификации и поиска элементов на странице, смотрите здесь для получения дополнительной информации: w3schools.com/cssref/css_selectors.asp