Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

У кого-нибудь работает этот скрипт в Full запуске? #16

Open
IgorLeSouverain opened this issue Dec 8, 2022 · 9 comments

Comments

@IgorLeSouverain
Copy link

IgorLeSouverain commented Dec 8, 2022

В инструкции написано что проверял на python2, а по дефолту в get_figma_files.py стоит python3 :), ну сменил я на python2, и ничего в итоге не работает, в том файле функции третьего питона, возврат на питон3 не решает все остальные ошибки, какую версию puppeteer'а использовать тоже не написано, та которая скачивается при npm i не работает, ошибка таймаут, версии старше 14.3.0 выдают ошибку

    at downloadFile (/home/egor/Downloads/figma_backup-master/figma_actions.js:179:28)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/egor/Downloads/figma_backup-master/figma_download_files_by_list.js:48:26
download (1/1) Uv9r2wWUqwi71EHjNeyGoS, Untitled result: -7

Версии ниже выдают ошибку

Error: Evaluation failed: TypeError: Cannot read properties of null (reading 'dispatchEvent')
    at pptr://__puppeteer_evaluation_script__:5:22
    at ExecutionContext._evaluateInternal (/home/egor/Downloads/figma_backup-master/node_modules/puppeteer/lib/cjs/puppeteer/common/ExecutionContext.js:221:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ExecutionContext.evaluate (/home/egor/Downloads/figma_backup-master/node_modules/puppeteer/lib/cjs/puppeteer/common/ExecutionContext.js:110:16)
    at async downloadFile (/home/egor/Downloads/figma_backup-master/figma_actions.js:188:9)
    at async /home/egor/Downloads/figma_backup-master/figma_download_files_by_list.js:48:26
download (1/1) Uv9r2wWUqwi71EHjNeyGoS, Untitled result: -7

В общем если у кого-то этот скрипт работает, скиньте пожалуйста вывод node -v и npm list, и каким образом вы сетапитесь, инструкцию нужно обновить.

@IgorLeSouverain
Copy link
Author

IgorLeSouverain commented Dec 8, 2022

В общем просто пишете npm i и меняете на 188 строке функцию в figma_actions.js на это:

await page.evaluate(_ => {
            const mainMenu = document.querySelector('button[data-tooltip="main-menu"]');
            var clickEvt = new Event("mousedown", {"bubbles": true, "cancelable": true}) 
            mainMenu.dispatchEvent(clickEvt);
            });

И всё вроде как работает

@IgorLeSouverain
Copy link
Author

IgorLeSouverain commented Dec 9, 2022

Так же если хотите посмотреть как программа работает при запуске скрипта на скачивание замените на 60 строке функцию в figma_actions.js на это:

async function open(settings) {
    const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage '], timeout: settings.launchTimeout, headless: false});
    const page = await browser.newPage();
    page.setDefaultNavigationTimeout(settings.navigationTimeout);
    
    return {browser, page}
}

@sas1024
Copy link

sas1024 commented May 22, 2023

@IgorTheOverlord спасибо за исправления в форке!

А вы не сталкивались с ошибкой
TimeoutError: waiting for selector `[data-testid="set-tool-default"]` failed: timeout 90000ms exceeded
?
У меня из-за неё ничего вообще не скачивается.

@IgorLeSouverain
Copy link
Author

@sas1024 нет, я сейчас другой скрипт использую, а вообще селектор - это название элемента на веб странице(какая-то кнопка например), эта ошибка говорит, что такого селектора [data-testid="set-tool-default"] нет, включите отображение браузера, и посмотрите на каком этапе проблема, найдите нужный селектор через f12, и просто поменяйте название.

Так же если хотите посмотреть как программа работает при запуске скрипта на скачивание замените на 60 строке функцию в figma_actions.js на это:

async function open(settings) {
    const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage '], timeout: settings.launchTimeout, headless: false});
    const page = await browser.newPage();
    page.setDefaultNavigationTimeout(settings.navigationTimeout);
    
    return {browser, page}
}

т.к. интерфейс фигмы меняется, меняются названия элементов, поэтому такие проблемы)
можете попробовать этот скрипт, который я использую - https://github.com/mimshins/figma-backup, версия 2.0.1
его всё еще поддерживает разработчик

@MisterIC3
Copy link

@sas1024 нет, я сейчас другой скрипт использую, а вообще селектор - это название элемента на веб странице(какая-то кнопка например), эта ошибка говорит, что такого селектора [data-testid="set-tool-default"] нет, включите отображение браузера, и посмотрите на каком этапе проблема, найдите нужный селектор через f12, и просто поменяйте название.

Так же если хотите посмотреть как программа работает при запуске скрипта на скачивание замените на 60 строке функцию в figma_actions.js на это:

async function open(settings) {
    const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage '], timeout: settings.launchTimeout, headless: false});
    const page = await browser.newPage();
    page.setDefaultNavigationTimeout(settings.navigationTimeout);
    
    return {browser, page}
}

т.к. интерфейс фигмы меняется, меняются названия элементов, поэтому такие проблемы) можете попробовать этот скрипт, который я использую - https://github.com/mimshins/figma-backup, версия 2.0.1 его всё еще поддерживает разработчик

Я так понимаю, что и эта утилита перестала работать? Пробовал и 2.0.1 и 2.0.2 версии.

@IgorLeSouverain
Copy link
Author

@MisterIC3 https://github.com/mimshins/figma-backup эта работает

@MisterIC3
Copy link

@MisterIC3 https://github.com/mimshins/figma-backup эта работает

У меня и она не работает.

@sas1024
Copy link

sas1024 commented May 25, 2023

Да, у этой утилиты есть ряд минусов - не всегда может скачать файлы фигмы, и при запуске всегда скачивает даже неизменившиеся файлы, из-за чего бэкап фигмы растягивается на много часов.
В этом плане https://github.com/ritds/figma_backup получше была.

@Mister-Ice
Copy link

Да, у этой утилиты есть ряд минусов - не всегда может скачать файлы фигмы, и при запуске всегда скачивает даже неизменившиеся файлы, из-за чего бэкап фигмы растягивается на много часов. В этом плане https://github.com/ritds/figma_backup получше была.

А можете помочь с ошибкой ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants