Невозможно войти через Facebook с помощью Puppeteer - Ошибка: Требуются файлы cookie - PullRequest
0 голосов
/ 16 апреля 2020

Это мой код для входа с помощью Facebook на веб-сайт, который я автоматизирую:

const loginButton = await page.waitForXPath(
    "//button[contains(@name, 'login')]"
  );
  const email = await page.waitForSelector("#email");
  const pass = await page.waitForSelector("#pass");

  await page.evaluate((text) => {
    email.value = text;
  }, "my email");

  await page.evaluate((text) => {
    pass.value = text;
  }, "my password");
  await loginButton.click();

Обычно это работает хорошо, но один раз каждые 4 или 5 раз, после нажатия кнопки входа в систему, я получаю следующую ошибку :

"Требуются файлы cookie. Файлы cookie не включены в вашем браузере. Пожалуйста, включите файлы cookie в настройках браузера, чтобы продолжить."

enter image description here

Я изменил с Chromium на Chrome, чтобы посмотреть, решит ли это проблему, но это не сработало.

Я также проверил настройки файлов cookie и они включены.

enter image description here

1 Ответ

0 голосов
/ 16 апреля 2020

Проблема заключалась в том, что данные быстро заполнялись, и Facebook подозревал, что я не настоящий человек. Я решил это, введя некоторую задержку между шагами входа в систему:

const loginButton = await page.waitForXPath(
    "//button[contains(@name, 'login')]"
  );
  const email = await page.waitForSelector("#email");
  const pass = await page.waitForSelector("#pass");
  await page.waitFor(1000);
  await page.evaluate((text) => {
    email.value = text;
  }, "casas.farach@yahoo.com");
  await page.waitFor(1000);
  await page.evaluate((text) => {
    pass.value = text;
  }, "789654123");
  await page.waitFor(1000);
  await loginButton.click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...