1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Selenium で Canvasに自動クリックする方法(Java)

Last updated at Posted at 2020-07-05

SeleniumでCanvas上の指定した座標(x,y)に自動クリックする方法を明記します

ブラウザのクリック作業を自動化する際に、Canvas(描画)の自動クリックはどうすればいいのか?
ちゃんと用意されていました!
ありがたいですね。

LIVE映像の配信サイトとかはCanvasタグの中で映像が流れるので、動画配信系のサイトでの自動化では便利だと思います。

PCのマウス操作を自動化する方法もありますが、それだとマウス操作が奪われてその間PC使えないので、
これはとてもありがたいです。

Java
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;

public static void CanvasClick(WebDriver driver, int x, int y) {
	WebElement canvas = driver.findElement(By.tagName("canvas"));
	Actions act = new Actions(driver);
	act.moveToElement(canvas, x, y).click().perform();
}

これでブラウザ上のCanvas領域へフォーカスして、指定した座標へクリックできます。
座標(x, y)はブラウザのhtml表示領域の左上からの距離です。 左上の隅が座標(0, 0)になります。

ただ、指定した座標が正しいかどうかを判定しにくいので、クリックした位置で何かマークを表示出来たらいいなと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?