Я пытался использовать Puppeteer для входа на сайт - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь использовать Puppeteer для входа на этот сайт , а затем найти div, но мне выдаётся странная ошибка:

puppeteer.launch({
  headless:false
}).then(async browser => {
  console.log("jdwjdjwd")
  const page = await browser.newPage();
  await page.goto('https://www.biuportal.net/LogIn.aspx#', {waitUntil: 'load', timeout: 100000})
  await page.click('a#modalCloseBtn');
  await page.type('#txtUserName', "bas/csc/170387");
  await page.type("#txtPassword", "password1");
  await page.click("#btnLogin")
  await page.waitForSelector("div#NameHolder")
 const x =   await page.$eval("div#NameHolder", el=>el.innerHTML)
 console.log(x)

Ответы [ 2 ]

0 голосов
/ 11 января 2020
  1. Пожалуйста, никогда не размещайте конфиденциальные данные на общедоступном c веб-сайте!
  2. Вы ожидаете неправильный селектор. div#NameHolder должно быть div.NameHolder
  const page = await browser.newPage();
  await page.goto('https://www.biuportal.net/LogIn.aspx#', {waitUntil: 'load', timeout: 100000})
  await page.click('a#modalCloseBtn');
  await page.type('#txtUserName', "bas/csc/170387");
  await page.type("#txtPassword", "password1");
  await page.click("#btnLogin")
  await page.waitForSelector("div.NameHolder")
  const x = await page.$eval("div.NameHolder", el=>el.innerHTML)
  console.log(x)
0 голосов
/ 10 января 2020

Попробуйте добавить waitforNavigation перед waitForSelector.

await page.waitForNavigation;
//maybe try page._frameManager._mainFrame.waitForNavigation()

await page.waitForSelector("body > section > div:nth-child(3) > ul", {
   timeout: 30000
});

const StoreList_ul = await page.$$("body > section > div:nth-child(3) > ul");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...