前提・実現したいこと
初心者のため初歩的な質問ですみません。
見当違いな記載がありましたらご容赦ください。
puppeteerでOffice365にログインしたいです。
発生している問題・エラーメッセージ
アカウント入力後、遷移した画面でさらにパスワードを入力後、サインインボタンをクリックできずにいます。
エラーメッセージは表示されずにその後の処理(スクショ保存)が実行されます。
該当のソースコード
JS、Puppeteer
/////////////////////////////
const puppeteer = require('puppeteer');
require('dotenv').config();
(async () => {
const TARGET_URL = 'https://login.microsoftonline.com/common/oauth2/authorize?<省略>...';
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto(TARGET_URL);
//Login 365
await page.type('input[id=i0116]', 'usera@domain.onmicrosoft.com');
await page.click('input[id=idSIButton9]');
await page.type('input[id=i0118]', '<MyPassword>');
await page.waitForNavigation(); ---- A'
await page.click('btn[id=idSIButton9]');
///////////////////////////////////////////////////
await page.screenshot({ path: 'example.png' });
//await browser.close();
})();
試したこと
クリックしたいボタンのid、nameともに試しているのですがうまくいってないです。
その後の処理で取ったスクショには該当のボタンが写っていないため、クリックもできていないのだと思うのですが、どのように対処したら実現できるのでしょうか。
遷移が足りないうちに押下しているのかと、ボタン押下前(A'のところ)にpage.waiForNavigationを複数回入れてみたのですが、変わりませんでした。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー