์ด๋ฒ ํฌ์คํ ์์๋ ๋ง์ฐ์ค๋ฅผ ํด๋ฆญํ๊ณ , ์์ ๋ผ์ง ์๊ณ ํด๋ฆญํ๊ณ ์๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. ์นํ์ด์ง ๋ฑ์ ๋ง์ฐ์ค๋ก ๋๋๊ทธํ๋ ์ฌ์ฉ์ ์ก์ ์ ์ํํ ๋ ์ฌ์ฉํ ์ ์๋ค.
clickAndHold ( )
clickAndHold() ๋ฉ์๋๋ ๋ง์ฐ์ค๋ก ์๋ฆฌ๋จผํธ๋ฅผ ํด๋ฆญํ ํ ์์ ๋ผ์ง ์๊ณ ๋๋ฅด๊ณ ์๋ ๋์์ ์๋ฎฌ๋ ์ดํธํ๋ค. ๋๋๊ทธ์ค๋๋ ๋์์ ํ์ฌ ์น ์๋ฆฌ๋จผํธ ์์๋ฅผ ์ฎ๊ธธ ๋๋, ๋๋๊ทธํ์ฌ ํน์ ์์ญ์ ์ ํํ ๋๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
์์ ๋ฅผ ํตํด ์์๋ณด์. ๋๋๊ทธํ์ฌ ์ด๋ค ์ ๋ฌธ๊ธฐ์ฌ์ title์ ๋๋๊ทธํด ๋ธ๋ก์ ์ก์๋ณผ ๊ฒ์ด๋ค. clickAndHold()์ moveByOffset()์ ์ ์ ํ ์ฌ์ฉํ์ฌ, ๋ง์ฐ์ค๋ฅผ ๋๋ฅธ ์ํ์์ ์ด๋ํ์ฌ ๋๋๊ทธํ๋ ์ก์ ์ ์ํํด ๋ณผ ์ ์๋ค.
moveByOffset() ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๊ด๋ จ ํฌ์คํธ(๋งํฌ)๋ฅผ ์ฐธ์กฐํด๋ณผ ์ ์๋ค.
@Test
public void f() {
//์์ฆ ๊ด์ฌ์๋ ๋ถ๋์ฐ ๊ด๋ จ ๊ธฐ์ฌ๋ก ์ด๋~
driver.get("https://post.naver.com/viewer/postView.naver?memberNo=11466887&volumeNo=34688039");
Actions actions = new Actions(driver);
//ํ์ดํ ์์ญ์ ์๋ฆฌ๋จผํธ๋ฅผ xpath๋ฅผ ์ด์ฉํด ๊ฐ์ ธ์จ๋ค.
WebElement title = driver.findElement(
By.xpath("//*[@id=\"SEDOC-1666756776571--1769050777\"]/div[3]/div/div/div[2]/div/div/div/h3")
);
// ํ์ดํ์ ์์ญ์ ์กฐ์ฌํด์ ๋ง์ฐ์ค ์ขํ๋ฅผ ์ด๋ํ๋ค.
actions.moveByOffset(title.getLocation().getX(), title.getLocation().getY()+2)
.clickAndHold()
.moveByOffset(700, 70)
.perform();
}
์น์๋ฆฌ๋จผํธ๋ฅผ ์ฌ์ฉํ๋ clickAndHold
์๋ฆฌ๋จผํธ์ ์ขํ๋ฅผ ์ฌ์ฉํ๋ ๋์ , ์๋ฆฌ๋จผํธ๋ฅผ clickAndHold ๋ฉ์๋์ ์ธ์๋ก ์ฃผ์ด ๋๋๊ทธ๋์์ ์ํํ ์ ์๋ค. ์์ ์์ ๋ฅผ ๋ณํํด ๋ณด์.
@Test
public void f() {
//์์ฆ ๊ด์ฌ์๋ ๋ถ๋์ฐ ๊ด๋ จ ๊ธฐ์ฌ๋ก ์ด๋~
driver.get("https://post.naver.com/viewer/postView.naver?memberNo=11466887&volumeNo=34688039");
Actions actions = new Actions(driver);
//ํ์ดํ ์์ญ์ ์๋ฆฌ๋จผํธ๋ฅผ xpath๋ฅผ ์ด์ฉํด ๊ฐ์ ธ์จ๋ค.
WebElement title = driver.findElement(
By.xpath("//*[@id=\"SEDOC-1666756776571--1769050777\"]/div[3]/div/div/div[2]/div/div/div/h3")
);
// ํ์ดํ์ ์์ญ์ ์กฐ์ฌํด์ ๋ง์ฐ์ค ์ขํ๋ฅผ ์ด๋ํ๋ค.
actions.clickAndHold(title)
.moveByOffset(340, 50)
.perform();
}
๊ฒฐ๊ณผ๊ฐ ์ ์์ ์๋ ์กฐ๊ธ ๋ค๋ฅด๊ฒ ์ํ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
title.getLocation().getX()/getY() ๋ก ์๋ฆฌ๋จผํธ๋ฅผ ๊ฐ์ ธ์ค๋ฉด title์์ญ์ ๊ฐ์ฅ ์ผ์ชฝ/๊ฐ์ฅ ์์ ์ขํ๋ฅผ ๊ฐ์ ธ์ค๊ณ , title ๊ฐ์ฒด๋ฅผ ์ธ์๋ก ์ฃผ์ด ์ด๋ํ๋ฉด ์๋ฆฌ๋จผํธ์ ์ค๊ฐ ์์น๋ฅผ ๊ฐ์ ธ์จ๋ค.
์ด ๋ถ๋ถ์ ๋ฏธ๋ฆฌ ์๊ณ ์์ผ๋ฉด ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑ์ ํ ๋, ์ ์ ํ ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ค.
ํจ๊ป ๋ณด๋ฉด ์ข์ ๊ธ
Selenium ๋ง์ฐ์ค ์ด๋ํ๊ธฐ MoveByOffset ์ฌ์ฉ๋ฒ, Java
Selenium ๋ง์ฐ์ค ํด๋ฆญ ์ก์ Click ์ฌ์ฉ๋ฒ
'SQA > Automation' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํฌ๋กฌ๋๋ผ์ด๋ฒ 115 ์ด์ ์ต์ stable ๋ฒ์ ๋ค์ด๋ก๋ 119 version (0) | 2023.11.13 |
---|---|
Selenium ๋ง์ฐ์ค์์ ์๋ผ๊ธฐ Release ์ฌ์ฉ๋ฒ (0) | 2023.07.04 |
Selenium ๋ง์ฐ์ค ์ด๋ํ๊ธฐ MoveByOffset ์ฌ์ฉ๋ฒ, Java (0) | 2023.06.26 |
Selenium ๋ง์ฐ์ค ํด๋ฆญ ์ก์ Click ์ฌ์ฉ๋ฒ (0) | 2023.06.24 |
Selenium ์ก์ API ๋ณตํฉ ์ก์ Actions ํด๋์ค ์ฌ์ฉ๋ฒ (0) | 2023.06.23 |