Dom 无法使用playwright为有效选择器读取null的属性innerText

Dom 无法使用playwright为有效选择器读取null的属性innerText,dom,automation,selector,playwright,Dom,Automation,Selector,Playwright,这个脚本应该检索DOM元素的内部文本,元素选择器是 ('div[class=QzVHcLdwl2CEuEMpTUFaj])我已经手动测试了选择器,并在REPL中调用了getSharePrice函数,该函数也可以工作 const { chromium } = require('playwright'); const util = require('util'); const setTimeoutPromise = util.promisify(setTimeout); (async () =&g

这个脚本应该检索DOM元素的内部文本,元素选择器是
('div[class=QzVHcLdwl2CEuEMpTUFaj])
我已经手动测试了选择器,并在REPL中调用了
getSharePrice
函数,该函数也可以工作

const { chromium } = require('playwright');
const util = require('util');
const setTimeoutPromise = util.promisify(setTimeout);

(async () => {
  const userDataDir = 'path'
  const browser = await chromium.launchPersistentContext(userDataDir, {headless: false }); 
  const page = await browser.newPage();
  await page.goto('https://robinhood.com', {timeout: 60000, waitUntil: 'domcontentloaded'});

  await getSharePrice(page)

  await setTimeoutPromise(1000);
  await browser.close();
})();


async function getSharePrice(page) {
    const price = await page.evaluate(() => {
        return {
            price: document.querySelector('div[class=QzVHcLdwl2CEuEMpTUFaj]').innerText.replace(/\D/g,'')
        }
    });
    console.log(price)
  }
由于某些原因,我收到一个未经处理的PromisejectionWarning:Error:Evaluation failed:TypeError:Cannot read property'innerText'of null错误,不确定原因


我唯一能想到的是元素还没有加载,导致它的计算结果为null,这就是为什么不能调用innerText。

添加
wait page.waitForSelector('div[class=QzVHcLdwl2CEuEMpTUFaj]”),然后我的计算块修复了这个问题。看起来问题是由尚未加载元素引起的