๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(136)
Selenium ์ฟ ํ‚ค ํ•ธ๋“ค๋ง, cookie ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ ์ž๋™ํ™” java ํ•ด๋‹น ํฌ์ŠคํŠธ๋Š” java ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ๋‹ค. ์˜ค๋Š˜์€ ์›น ๋“œ๋ผ์ด๋ฒ„์˜ ๊ธฐ๋Šฅ ์ค‘์— ์ฟ ํ‚ค๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณธ๋‹ค. ์ฟ ํ‚ค ๋‹ค๋ฃจ๊ธฐ ์˜ˆ๋ฅผ ๋“ค์–ด, ๋กœ๊ทธ์ธ์„ ํ•ด์•ผ ํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž. ๋กœ๊ทธ์ธํ•ด์„œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ง„์ž…, ๋กœ๊ทธ์ธํ•ด์„œ ์ตœ๊ทผ ๊ตฌ๋งค ๋ชฉ๋ก ์ง„์ž…, ๋กœ๊ทธ์ธํ•ด์„œ.... ๋งค๋ฒˆ ์‹œ๋‚˜๋ฆฌ์˜ค๋งˆ๋‹ค ๋กœ๊ทธ์ธ์„ ๋”ฐ๋กœ ํ•œ๋‹ค๋ฉด ํ…Œ์ŠคํŠธ ์‹คํ–‰ ์‹œ๊ฐ„์€ ๊ทธ๋งŒํผ ๋Š˜์–ด๋‚  ๊ฒƒ์ด๋‹ค. ๋กœ๊ทธ์ธ ๊ณผ์ •์„ ์ƒ๋žตํ•˜๊ธฐ ์œ„ํ•ด, ์ตœ์ดˆ ๋กœ๊ทธ์ธํ•  ๋•Œ ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ํŒŒ์ผ์— ๋ณด๊ด€ํ•œ ํ›„, ๋‹ค์Œ๋ฒˆ ๋กœ๊ทธ์ธ์—๋Š” ์ฟ ํ‚ค๋ฅผ ๊ฐ€์ ธ์™€ ๋“œ๋ผ์ด๋ฒ„์— ์ถ”๊ฐ€ํ•˜๋Š” ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฟ ํ‚ค ์ €์žฅํ•˜๊ธฐ ์›น ๋“œ๋ผ์ด๋ฒ„๋Š” ์•„๋ž˜ ๋ฉ”์„œ๋“œ๋กœ ํ˜„์žฌ ๋กœ๋“œํ•œ ์›น ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. driver.manage().getCookies() ์ฟ ํ‚ค๋Š” ์ด๋ฆ„, ๊ฐ’, ๋„๋ฉ”์ธ, ๊ฒฝ๋กœ, ๋งŒ๋ฃŒ์ผ, ์•”ํ˜ธํ™” ๊ด€๋ จ..
Selenium ๋ฌต์‹œ์  ๋Œ€๊ธฐ์™€ ๋ช…์‹œ์  ๋Œ€๊ธฐ, NoSuchElementException ์›นํŽ˜์ด์ง€ ๋กœ๋”ฉ ์ค‘์— ์›น ํŽ˜์ด์ง€์˜ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ์œผ๋ฉด, ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ(no such element exception)๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์˜ ์ด์œ ๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ์ข‹์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋Šฆ๋Š” ๊ฒฝ์šฐ ๋“ฑ์ด ์žˆ๋‹ค. ์ด๋•Œ ์›น ์—˜๋ฆฌ๋จผํŠธ ๋กœ๋”ฉ์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•ด ์Šคํฌ๋ฆฝํŠธ ์ง„ํ–‰์„ ์ž ์‹œ ๋ฉˆ์ท„๋‹ค๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๋‹ค. ๋ฌต์‹œ์  ๋Œ€๊ธฐ์™€ ๋ช…์‹œ์  ๋Œ€๊ธฐ ์›น๋“œ๋ผ์ด๋ฒ„๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋Œ€๊ธฐ์‹œ๊ฐ„์€ NoSuchElementException ์ด ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์„ ๋ฏธ๋ฆฌ ๋ง‰๊ธฐ์œ„ํ•ด ์›น ๋กœ๋”ฉ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ๋งํ•œ๋‹ค. ์›น๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์›น ์—˜๋ฆฌ๋จผํŠธ ๋กœ๋”ฉ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. 1. ๋ฌต์‹œ์  ๋Œ€๊ธฐ ์‹œ๊ฐ„ : ์ „์ฒด ์—˜๋ฆฌ๋จผํŠธ์— ๋ชจ๋‘ ๋™์ผํ•œ ํƒ€์ž„..
Selenium ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ œ์–ด , ๋’ค๋กœ๊ฐ€๊ธฐ ์•ž์œผ๋กœ๊ฐ€๊ธฐ ์ƒˆ๋กœ๊ณ ์นจ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ ์ค‘์— ํ•˜๋‚˜๋Š” ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋™์ž‘์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋™์ž‘์—๋Š” ํŽ˜์ด์ง€ ๋’ค๋กœ๊ฐ€๊ธฐ, ํŽ˜์ด์ง€ ์•ž์œผ๋กœ ๊ฐ€๊ธฐ, ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ ๋“ฑ์ด ์žˆ๋‹ค. ์–ด๋ ค์šด ๋ถ€๋ถ„์ด ์•„๋‹ˆ๋ฏ€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด์ž. ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ œ์–ด Navigate๋Š” ์›น๋“œ๋ผ์ด๋ฒ„์˜ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €์˜ ๋’ค๋กœ ๊ฐ€๊ธฐ๋‚˜ ์•ž์œผ๋กœ ๊ฐ€๊ธฐ, ์ƒˆ๋กœ๊ณ ์นจ ๋“ฑ์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ, ๋’ค๋กœ๊ฐ€๊ธฐ ๋™์ž‘์„ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŠน์ • ๋™์ž‘์„ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋’ค๋กœ ๊ฐ€๊ธฐ ํ•˜๋ฉด ๊ฐ•์ œ ๋กœ๊ทธ์•„์›ƒ์„ ํ•˜๋Š” ์˜ˆ์‹œ ๋“ฑ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž. ํฌ๋กฌ์—ด๊ธฐ > ๋„ค์ด๋ฒ„ํ™ˆ ์ด๋™ > ์›นํˆฐํ™ˆ ์ด๋™ > ๋’ค๋กœ ๊ฐ€๊ธฐ > ์•ž์œผ๋กœ ๊ฐ€๊ธฐ > ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ธฐ ์˜ˆ์ œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์•˜๋‹ค. @Test p..
Selenium ๋ธŒ๋ผ์šฐ์ € ์œˆ๋„์šฐ ์ฐฝ iframe ํฌ์ปค์‹ฑ ๋ฐฉ๋ฒ• , java ์›น์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•  ๋•Œ, ์šฐ๋ฆฌ๋Š” ํ•œ ๊ฐœ์˜ ์ฐฝ๋งŒ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ์ƒˆ์ฐฝ์œผ๋กœ ๋งํฌ๊ฐ€ ์ด๋™๋œ ๊ฒฝ์šฐ, ๊ทธ ์ฐฝ์—์„œ์˜ ๋™์ž‘์„ ๋งˆ์น˜๋ฉด ์ด์ „ ์ฐฝ์œผ๋กœ ๋Œ์•„์™€์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ํฌ์ปค์‹ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ด๋ฒˆ์—๋Š” ์œˆ๋„์šฐ ์ฐฝ๊ณผ iFrame ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. ์œˆ๋„์šฐ ์ฐฝ๊ณผ iFrame ์ง€์ • ์›น๋“œ๋ผ์ด๋ฒ„๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์—ด๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž์‹ ์œˆ๋„์šฐ ์ฐฝ, ๋ธŒ๋ผ์šฐ์ € ํƒญ, ํ”„๋ ˆ์ž„ ์‚ฌ์ด๋ฅผ ์ด๋™(ํฌ์ปค์‹ฑ)ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์‹œ๋กœ, ์€ํ–‰์ด๋‚˜ ๋ธ”๋กœ๊ทธ ์›น์—์„œ ๋งํฌ๋ฅผ ํด๋ฆญํ•ด ์ƒˆ์ฐฝ์„ ์—ด์—ˆ๋‹ค๊ฐ€, ๋‹ค์‹œ ์ด์ „ ์ฐฝ์œผ๋กœ ๋Œ์•„๊ฐ€์•ผํ•˜๋Š” ๊ฒฝ์šฐ ๋˜ ๋‹ค๋ฅธ ์˜ˆ์‹œ๋กœ, ํ”„๋ ˆ์ž„์„ ๋‘ ๊ฐœ๋กœ ๋‚˜๋ˆ  ์™ผ์ชฝ ํ”„๋ ˆ์ž„์—๋Š” ์•„์ดํ…œ ๋ชฉ๋ก์ด ์žˆ๊ณ , ์˜ค๋ฅธ์ชฝ ํ™”๋ฉด์—๋Š” ์•„์ดํ…œ ๋‚ด์šฉ์„ ๋ณด์—ฌ์ฃผ๋Š” ์›น ํŽ˜์ด์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์…€๋ ˆ๋‹ˆ์›€ ์›น๋“œ๋ผ์ด๋ฒ„๋กœ ์œ„ ์˜ˆ์‹œ๋“ค์„ ํ…Œ์ŠคํŠธ..