Есть ли способ подключиться к кошельку Phantom во время просмотра веб-страниц с помощью JavaScript и Puppeteer?

Есть ли способ при работе с интерактивным окном подключиться к криптокошельку, такому как Phantom (необходим блокчейн Solana)? Я пытался найти кнопку, нажать «подключить кошелек», но расширение Chrome не всплывает в интерактивном окне, как в обычном браузере.

1 ответ

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

      const browser = await puppeteer.launch({
  headless: false,
  devtools,
  args: [
    '--disable-extensions-except=./replacer-chrome-extension',
    '--load-extension=./replacer-chrome-extension',
  ],
  ...(slowMo && { slowMo }),
});

Шаг 2: Найдите идентификатор расширения. У вас была правильная идея попытаться найти элемент, но расширение представляет собой другое дерево DOM, поэтому мы хотим загрузить расширение в новую вкладку, ссылаясь на chrome-extension:// namespace для доступа к этим ресурсам.

      const extensionTarget = targets.find(target => target.type() === 'service_worker');
const partialExtensionUrl = extensionTarget._targetInfo.url || '';
const [, , extensionID] = partialExtensionUrl.split('/');

Как получить идентификатор расширения для расширения Manifest V2?Как получить идентификатор расширения для расширения Manifest V2?const PAGE_TITLE = 'Расширение заменителя текста'; константные цели = ожидание browser.targets();extensionTarget = target.find(({ _targetInfo }) => _targetInfo.title === PAGE_TITLE);const partialExtensionUrl = extensionTarget._targetInfo.url || '';


Как только мы определяем идентификатор, мы загружаем расширение во вкладку и, как и в случае с приложением, получаем ссылку на страницу и возвращаем ее.

      const extPage = await browser.newPage();
const extensionUrl = `chrome-extension://${extensionId}/popup.html`;
await extPage.goto(extensionUrl, { waitUntil: 'load' });

return {
  appPage,
  browser,
  extensionUrl,
  extPage,
};

Источник: https://tweak-extension.com/blog/complete-guide-test-chrome-extension-puppeteer/

Другие вопросы по тегам