首页 > 解决方案 > 使用 UI 登录测试的节点

问题描述

我使用以下博客来使用播放权限登录,我需要类似的东西用于我的应用程序,当我使用时,headless:flase 我看到它打开了带有用户密码的 UI,但是它没有点击登录按钮,我采用了代码我尝试以下方法,我错过了什么吗?

(async () => {
  const browser = await chromium.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://app.com');
  await page.fill('input[type="text"]', 'user@test.com');
  await page.fill('input[type="password"]', 'Abcd1234!');
  // page.click('div[data-testid="LoginForm_Login_Button"]');
  page.click('div[id="logOnFormSubmit"]');
}
)();

在此处输入图像描述

标签: javascriptnode.jsauthenticationplaywright

解决方案


您当前正在使用

page.click('div[id="logOnFormSubmit"]');

您给定的代码示例中没有具有该 ID 的 div,而是有一个按钮。您需要更改该行以反映这一点。最终代码如下所示。

(async () => {
  const browser = await chromium.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://app.com');
  await page.fill('input[type="text"]', 'user@test.com');
  await page.fill('input[type="password"]', 'Abcd1234!');
  // page.click('div[data-testid="LoginForm_Login_Button"]');
  page.click('button[id="logOnFormSubmit"]');
}
)();

推荐阅读