在 Playwright 中获取输入元素的值
Getting value of input element in Playwright
如何 return elem 的值,以便我可以验证它实际上是 1
?
const elem = await page.$('input#my-input')
await elem.fill('1')
最简单的方法是使用$eval
。在这里你可以看到一个小例子:
const playwright = require("playwright");
(async () => {
const browser = await playwright.chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
await page.setContent(`<input id="foo"/>`);
await page.type("#foo", "New value")
console.log(await page.$eval("#foo", el => el.value))
await page.screenshot({ path: `example.png` });
await browser.close();
})();
inputValue
方法已添加到 Playwright v1.13.0
await page.inputValue('input#my-input');
它 returns input.value
用于选定的 <input>
或 <textarea>
元素。抛出非输入元素。 Read more.
从 1.19 版(可能还有更低版本)开始,不推荐使用元素处理程序。
而不是使用定位器。
page.locator(selector).innerText()
在你的断言情况下它将是
expect(page.locator("input#my-input").innerText().includes("1")).toBeTruthy()
了解更多:
https://playwright.dev/docs/api/class-elementhandle#element-handle-fill
如何 return elem 的值,以便我可以验证它实际上是 1
?
const elem = await page.$('input#my-input')
await elem.fill('1')
最简单的方法是使用$eval
。在这里你可以看到一个小例子:
const playwright = require("playwright");
(async () => {
const browser = await playwright.chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
await page.setContent(`<input id="foo"/>`);
await page.type("#foo", "New value")
console.log(await page.$eval("#foo", el => el.value))
await page.screenshot({ path: `example.png` });
await browser.close();
})();
inputValue
方法已添加到 Playwright v1.13.0
await page.inputValue('input#my-input');
它 returns input.value
用于选定的 <input>
或 <textarea>
元素。抛出非输入元素。 Read more.
从 1.19 版(可能还有更低版本)开始,不推荐使用元素处理程序。 而不是使用定位器。
page.locator(selector).innerText()
在你的断言情况下它将是
expect(page.locator("input#my-input").innerText().includes("1")).toBeTruthy()
了解更多: https://playwright.dev/docs/api/class-elementhandle#element-handle-fill