page.locator(`text="foobar"`)だと取れなかったところ

version情報

"@playwright/test": "1.22.2"

起こったこと

こういったインライン要素が入った文字を完全一致で取得できなかった。

<p id="foobar">foo<strong>bar</strong></p>
await page.click(`text="foobar"`)
/**
 *Timeout of 30000ms exceeded.

  page.click: Target closed
  =========================== logs ===========================
  waiting for selector "text="foobar""
  ============================================================
  */

ここに書いてあった

playwright.dev

text="Log in" - text body can be escaped with single or double quotes to search for a text node with exact content. For example, does not match because contains a single text node that is not equal to . However, matches , because contains a text node . This exact mode implies case-sensitive matching, so will not match .text="Log"

でも、完全一致が使いたい

正規表現が使えるのでこれをやったら動いた。

await page.click(`text=/^foobar$/`)

alpineでgit cloneがうまくいかなかったので

Version情報

$ uname -a
Linux LAPTOP-****** 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 Linux

$ cat /proc/version
Linux version 5.10.16.3-microsoft-standard-WSL2 (oe-user@oe-host) (x86_64-msft-linux-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP Fri Apr 2 22:23:49 UTC 202

DockerでのAlpineについてはこちらの方の記事が参考になるかも

pc.atsuhiro-me.net

起こったこと

$ ssh -T git@github.com

エンター押しても先に進まない。

-vvvオプションでより詳しく見てみる

$ ssh -T -vvv git@github.com
OpenSSH_8.8p1, OpenSSL 1.1.1o  3 May 2022
debug1: Reading configuration data /etc/ssh/ssh_config
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/kuzunoha/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/kuzunoha/.ssh/known_hosts2'
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug2: resolving "github.com" port 22
debug3: resolve_host: lookup github.com:22
debug3: ssh_connect_direct: entering
debug1: Connecting to github.com [198.51.45.8] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48

ここで止まる

ipアドレスで無理やりつなげてみる

頑張ってgithubIPアドレスで無理やりつなげてみる

$ ssh -T git@13.114.40.48
Hi ****! You've successfully authenticated, but GitHub does not provide shell access.

うまくいったらしい。DNSの問題だろうか。

DNSの設定変更

/etc/resolv.confの変更を行いたい。

しかし、/etc/resolv.confの変更しただけではwsl再起動時に/etc/resolv.confが再生成されてしまう。

そのため、/etc/wsl.confを生成し、以下の内容で入力する。

[network]
generateResolvConf = false

そして、/etc/resolv.confを一度削除し、/etc/resolv.confを再度作成、以下の内容で保存する。

nameserver 8.8.8.8
nameserver 8.8.4.4

そのあとWindowsを再起動してWSL2を再起動する。そしてsshしてみる。

$ ssh -T git@github.com
Hi ****! You've successfully authenticated, but GitHub does not provide shell access.

うまくいった。