ウェブフロント
- angular
- corewebvitals
- editorconfig
- gatsby
- hls
- html
- javascript
querySelectorAllで取得した要素は配列ではないらしい
JavaScript 配列内のオブジェクトの更新ってどうする?
デバッグ関数とかnullチェック関数をutil/index.tsにおいとけば楽なことに今頃気づいた。
ブラウザからジャイロセンサーを使ってみる
JS 画像のアップロード、プレビュー機能を実装
「数値から各桁の値を取り出す処理」って言われたら数学的な処理が一番に思い浮かぶけど、JSならそんなことなかった。
Callback時代の関数をPromise化する
個人的実装されてほしいECMA Script Proposal
JavaScriptのprototypeを使う
音声をなみなみさせる
AudioWorkletとAudioWorkletProcessorを使って音声のビジュアライゼーション
- next
- nuxt
- playwright
- prettier
- react
- reactnative
- tensorflowjs
- tools
- typescript
- wasm
- websocket
- ポエム
- 開発環境
サーバー
その他
Playwrightのメモ
全体の設定
playwright.config.ts
に記述する。Chromeの起動オプション
use: {
launchOptions: {
args: [
"--use-fake-ui-for-media-stream",
"--use-file-for-fake-audio-capture",
"--use-fake-device-for-media-stream",
"--use-file-for-fake-video-capture=./qr.y4m", // 任意のフェイク映像を流す
]
},
}
スクリプトからの起動も可能。
const browser = await chromium.launch({
args: [],
})
ローカルストレージ、Cokkieの設定
use: {
storageState: {
cookies: [],
origins: [{
origin: '', // URLを設定
localStorage: [{
name: 'category',
value: 'food'
}]
}]
}
}
スクリプトからの設定も可能。
const page = await browser.newPage({
storageState: STORAGE_STATE
})
要素があったときは特定の処理をする
「閉じる」ボタンが存在したときはクリックする。
// isVisibleはあまり待機してくれないので待つ
await page.waitForTimeout(1000)
if (await page.locator('button', { hasText: '閉じる' }).isVisible()) {
await subPage.locator('button', { hasText: '閉じる' }).click()
}
ボタンが押せなかったときはチェックボックスをクリックする。
await page.waitForTimeout(1000)
if (await page.locator('button', { hasText: '投稿する' }).isDisabled()) {
await page.locator('check-box .checkbox').click()
}
フォームに入力する
await page.locator('input[type=text]').fill(user)
await page.locator('input[type=password]').fill(password)
await page.locator('button').click()
n個目の要素
await page.locator('dialog :nth-match(input, 2)').fill('2001')
await page.locator('dialog :nth-match(input, 3)').fill('09')
await page.locator('dialog :nth-match(input, 4)').fill('06')
Thanks you for reading.