getAttribute 在 ElementHandle 上不可用
getAttribute is not available on the ElementHandle
我使用的是 playwright 版本 0.13.0,
我有一个 ElementHandle
的实例,但是 getAttribute
函数不可用,调用它会抛出一个错误,指出 getAttribute
不是一个函数:
await myElem.getAttribute('src')
我用调试器仔细检查过,函数不在实例上。
此外,ElementHandle
没有等效的 page.evaluate
函数
您可以将其作为参数传递给 page.evaluate
函数:
await page.evaluate(el => el.getAttribute('src'), myElem);
或
await myElem.evaluate(node => node.getAttribute('src');
对于新手,Playwright 的更高版本支持 OP 使用的 API。参见:https://playwright.dev/docs/api/class-elementhandle#elementhandlegetattributename
这对我有用:
const attr = await page.$eval('.your-locator-class', el => el.src)
我使用的是 playwright 版本 0.13.0,
我有一个 ElementHandle
的实例,但是 getAttribute
函数不可用,调用它会抛出一个错误,指出 getAttribute
不是一个函数:
await myElem.getAttribute('src')
我用调试器仔细检查过,函数不在实例上。
此外,ElementHandle
page.evaluate
函数
您可以将其作为参数传递给 page.evaluate
函数:
await page.evaluate(el => el.getAttribute('src'), myElem);
或
await myElem.evaluate(node => node.getAttribute('src');
对于新手,Playwright 的更高版本支持 OP 使用的 API。参见:https://playwright.dev/docs/api/class-elementhandle#elementhandlegetattributename
这对我有用:
const attr = await page.$eval('.your-locator-class', el => el.src)