Bluemo's Brain

Search

Search IconIcon to open search

puppeteerでScrapboxにimport

Last updated Unknown Edit Source

    public.icon - puppeteerScrapbox

    Scrapbox

    をつなげて発想するのを人工的にやるってすごい -> の良いところとして、使い方が若干異なる同じ言葉が繋がることが挙げられると思う 例えば、「マルチモーダル」だと文脈によって具体的な意味がすごい変わる それらがマルチモーダルって言葉で化されたことで、繋がる その関係性について考えると、「マルチモーダル」についてなにか新しいことに気づくかも? 例: 「共通言語」のリンクを見ると分かりやすい Scrapboxの何がすごいかを一言で言うと、「リンクがめっちゃ簡単に作れる」なのかな 一的なノートしかとれないのがきつい /nishio/Scrapboxの良さ(その2)) https://goryugo.com/20180904/scrapbox_tips/ 階層型より型の方がみがあって、自分はしっくり来たのかも #すげー ...

    1/3/2023

    にimportするコード - node.js - [/ras/NodeでPrivateなscrapboxの情報を取得する](https://scrapbox.io/ras/NodeでPrivateなscrapboxの情報を取得する)のように、sidをセットして動かす - とりあえず動くレベル - 雰囲気でjavascriptを書いてるので色々と雑 - xが混在したりしてるけど後で直す
    • importが動いている間に別ブラウザで開いているページはoverwriteされないっぽい?
      • いや違うな
    • 「Importing Pages…」になった時点で、ブラウザを閉じようが関係ないのかな?
      • これも違うな
    • 元々なかったページのコピーは毎回成功するけど、上書き処理がうまくいかない場合がある
      • 条件がわからない、、

    .js

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    const puppeteer = require('puppeteer');
    
    const sid = "YOUR SID"
    const project = "experiment-blu3mo";
    
    (async () => {
        const url = new URL(`https://scrapbox.io/projects/${project}/settings/page-data`);
        const browser = await puppeteer.launch({
            args: ['--no-sandbox', '--disable-setuid-sandbox'],
            defaultViewport: {width: 800, height: 1024}
        });
        const page = await browser.newPage();
    
        await page.setCookie({name: 'connect.sid', value: sid, domain: 'scrapbox.io'});
        await page.goto(url.toString());
        await page.waitFor(1000);
        
        const inputUploadHandle = await page.$('input[name="import-file"]');
        inputUploadHandle.uploadFile("FILE.json");
        await page.waitFor(1000);
    
        const importSubmitButton = await page.$x("//button[contains(., 'Import Pages')]");
        await importSubmitButton[0].click();
    
        await browser.close();
    })()