PlayWrightのFirefoxが安定しなかったクリック

起こったこと

Playwrightを使って特定要素のHTMLをクリックする試験をしていた。

わけあってずっとChromeだけで試験していたのだが、久々にFirefoxでも動かしてみるかと思い、設定でFirefoxでも試験しようとしたらそのクリック試験が落ちちゃうことがあった。

要素のx:0,y:0の個所をクリックする

クリックする箇所を要素の左上{x:0, y:0}に設定したいところがあった。

対象ウェブサイトは要素が重なっていたり、たくさんの個所でインナー要素をブロック要素にしていたりと、よくわからない設計思想で作られたHtmlだった。

そんな要素をクリックしたいのだが、Firefoxでは{x:0, y:0}だとうまく動かなかった。

色々四苦八苦した結果{x:1, y:1}という値にすることで落ち着いた。

そもそもこのHTMLを直すのが先決な気がするが、まずはテストを書かないとリファクタリングが出来ないのでしょうがない。

// FireFoxだとクリックできないことがあった
await page.locator(".locate").click({
  position: {
    x: 0,
    y: 0,
  },
});

// FireFoxでもクリックできた
await page.locator(".locate").click({
  position: {
    x: 1,
    y: 1,
  },
});