Help us understand the problem. What is going on with this article?

Macにおける、パペッターの文字列削除

環境

パペッターのバージョンは、^1.19.0

背景

文字列削除したかったら、Cmd + Aして削除しようと思っていたが、
Macだと色々面倒らしいです。「Command」が使えなかったり。

もちろんググりましたが、Macの人は文字列削除とかキーに関しては結構困っているっぽいです。僕も困りました(Command押せない。。。)

色々ググったらこの記事が出てきたのですが、
https://github.com/GoogleChrome/puppeteer/issues/1313

await input.click({ clickCount: 3 }); await page.keyboard.press("Backspace");

クリック三回して削除押せばなんとかなるで?みたいに書いてあったのですが、これは文字列が一行だったらの話で、2行以降あったらすべて削除できなくなります。

対象の文字列が一行なら上記で解決できますが、私の場合は勤怠入力の自動化がしたくて、複数行のコメントの入力をなんどもやり直ししたいので、上記の方法ではできなかった。

ここで、ゴリ押しですが、なんとか考えてみました。

プログラム

page.focusとかpage.click試してみたのですが、なぜかうまく行かなかったので、フォーカスする目的で空の文字列を入力するようにして解決しました。

文字を入力するときに使う「page.type」は追記となるので、入力を始めると最終的にカーソルが一番下に来ることになるので、
Shift+上矢印して複数行選択して、最後にBackSpace押すという
ゴリ押しの解決です。
Windowsとか仮想環境でやればこんな変なことしなくてすむんですけどねぇ。。。

hoge.js
    // テキストボックスにフォーカスする目的で、空の文字列を入力
    await page.type('textarea[name="txt"]', '');

    //入力しようよしている時点でカーソルが一番下にあるから
    await page.keyboard.down('Shift');
    //行数分増やすか、めっちゃ増やすか
    await page.keyboard.press('ArrowUp');
    await page.keyboard.press('ArrowUp');
    await page.keyboard.press('ArrowUp');
    await page.keyboard.press('ArrowUp');
    await page.keyboard.up('Shift');
    await page.keyboard.press("Backspace"); 

上記の処理、文字列の行数を取得してその分ループさせてもいいかもですね。

結果

ふぅ〜!消えた!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away