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

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

(136)
Selenium ์—˜๋ฆฌ๋จผํŠธ ์š”์†Œ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ By ์ง€์ •์ž, java ์…€๋ ˆ๋‹ˆ์›€์—์„œ ์›น ์ž๋™ํ™”๋ฅผ ํ•˜๋ฉด์„œ, ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ๊ธฐ์œ„ํ•ด findElement ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด์ œ findElement ์•ˆ์—๋Š” HTML element์˜ ์š”์†Œ๊ฐ’์„ ์ธ์ž๋กœ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ, HTML element Locator ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์†Œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ, ์ด๊ฒƒ์€ By ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค ์ฟผ๋ฆฌ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค. By ์ง€์ •์ž? By Locator ๋ผ๊ณ ๋„ ํ•œ๋‹ค. findElement(), findElements() ๋ฉ”์„œ๋“œ๋Š” By์ง€์ •์ž๋ฅผ ์ธ์ž๋กœ ์ฃผ์–ด ์›น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ์ง€์ •์ž์˜ ์ข…๋ฅ˜๋Š” 8๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ID, Name, ClassName, LinkText, LinkText, LinkText์˜ ์ผ๋ถ€๋ถ„, XPath, CSS ์„ ํƒ์ž์ด๋‹ค. ์ด์ œ ๊ฐ ์ง€์ •์ž์˜ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. By.id()์™€ By.na..
ํ‹ฐ์Šคํ† ๋ฆฌ ์ฝ”๋“œ๋ธ”๋ก ๋””์ž์ธ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•˜๊ธฐ ํ‹ฐ์Šคํ† ๋ฆฌ ํฌ์ŠคํŒ…์„ ํ•˜๋‹ค ๋ณด๋ฉด IT๊ด€๋ จ๋œ ํฌ์ŠคํŒ…์„ ํ•˜๋‹ค ๋ณด๋‹ˆ ์ฝ”๋“œ๋ธ”๋ก์„ ์‚ฌ์šฉํ•  ์ผ์ด ๋งŽ์•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์—๋””ํ„ฐ์—์„œ ๊ธ€์„ ์ ์„๋•Œ์™€ ๊ธ€์„ ์‹ค์ œ ๋ฐœํ–‰ํ–ˆ์„ ๋•Œ ๋ณด์ด๋Š” ์ฝ”๋“œ๋ธ”๋ก์ด ๋‹ค๋ฅด๊ฒŒ ๋…ธ์ถœ๋œ๋‹ค. ๊ธฐ๋ณธ ๋ธ”๋ก์ด ๋„ˆ๋ฌด ๋งˆ์Œ์— ์•ˆ ๋“ค์–ด์„œ ๋‹ค๋ฅธ ๋””์ž์ธ์œผ๋กœ ๋ฐ”๊ฟ”๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ, ๋‚˜๋Š” HTML ์Šคํ‚จ ํŽธ์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ๋งˆ์Œ์— ๋“ค๊ณ  ๊ฐ„๋‹จํ•ด์„œ ๊ทธ ๋ฐฉ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ์™€๋ดค๋‹ค. HTML ์Šคํ‚จ ํŽธ์ง‘ ํ•˜๊ธฐ ๋ฐฉ๋ฒ• 1. ๋ธ”๋กœ๊ทธ ๊ด€๋ฆฌ > ๊พธ๋ฏธ๊ธฐ > ์Šคํ‚จํŽธ์ง‘ > HTML ํŽธ์ง‘ 2. ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ html ๋ฐ‘์— ์‚ฝ์ž… ํ•œ๋‹ค. 3. ์•„๋ž˜์˜ ์‚ฌ์ดํŠธ์— ๊ฐ€์„œ ์›ํ•˜๋Š” ๋””์ž์ธ์„ ๊ณ ๋ฅธ๋‹ค. highlight.js demo highlightjs.org 4. ์›ํ•˜๋Š” ๋””์ž์ธ์˜ ์ด๋ฆ„์„ html ํŽธ์ง‘ ํŽ˜์ด์ง€์—์„œ ๋„ฃ๋Š”๋‹ค. ์ด๋•Œ, ์Šฌ๋ž˜์‹œ"/" ์•ž๋’ค ๊ณต๋ฐฑ์€ ์ œ๊ฑฐ..
Selenium ์›น ์—˜๋ฆฌ๋จผํŠธ ์ฐพ๊ธฐ FindElement , java ์›น ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด์„œ ์›น์—˜๋ฆฌ๋จผํŠธ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์€ ์•„์ฃผ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์…€๋ ˆ๋‹ˆ์›€์—์„œ๋Š” FindElement, FindElements ๋ฅผ ํ†ตํ•ด ์•„์ฃผ ์‰ฝ๊ฒŒ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋Š˜์€ ์ด ๋ถ€๋ถ„์„ ํฌ์ŠคํŒ…ํ•ด๋ณด๋ ค ํ•œ๋‹ค. ์›น ์—˜๋ฆฌ๋จผํŠธ? ์›น ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๋ฌด์—‡์ผ๊นŒ? ์›น ํŽ˜์ด์ง€๋Š” ๋ฒ„ํŠผ, ๋งํฌ, ํผ ๋“ฑ ๋‹ค์–‘ํ•œ HTML ์—˜๋ฆฌ๋จผํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ด๊ฒƒ์„ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ผ๊ณ  ํ•œ๋‹ค. UI ์ž๋™ํ™”๋Š” ๋Œ€๋ถ€๋ถ„ ์›น ํŽ˜์ด์ง€์—์„œ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ฐพ์•„์„œ ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ๋œ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” findElement(), findElements() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณธ๋‹ค. ๋‚˜๋Š” java์–ธ์–ด๋กœ ์ž๋™ํ™”๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ์— java์–ธ์–ด๋กœ ์ž‘์„ฑํ•œ๋‹ค. findElement() ๋ฉ”์„œ๋“œ java ์–ธ์–ด์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ..
๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋กœ ์›น ์‚ฌ์ดํŠธ HTML ๊ตฌ์กฐ ๋ณด๋Š” ๋ฐฉ๋ฒ• ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ์›น์˜ ๊ตฌ์กฐ๋ฅผ ์‰ฝ๊ฒŒ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋Š˜์€ ์›น ํ”„๋ก ํŠธ์— ๋ณด์ด๋Š” ์š”์†Œ๋“ค์— ๋Œ€ํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด์ž. ๊ทธ๋ ‡๋‹ค๋ฉด ์›น ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๋ญ˜๊นŒ? ์›น ํŽ˜์ด์ง€๋Š” ๋ฒ„ํŠผ, ๋งํฌ, ํ…์ŠคํŠธ ์ž…๋ ฅํ•„๋“œ, ํผ ๋“ฑ ๋‹ค์–‘ํ•œ HTML ์—˜๋ฆฌ๋จผํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ด๊ฒƒ์„ ์›น ์—˜๋ฆฌ๋จผํŠธ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์—ฌ๋Š” ๋ฐฉ๋ฒ• ํฌ๋กฌ ๊ฐœ๋ฐœ์ž๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์›น ์‚ฌ์ดํŠธ์˜ ์š”์†Œ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. ํฌ๋กฌ ๋ง๊ณ ๋„ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €๋“ค๋„ ๊ฐ์ž ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋‚˜๋Š” ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์ธ ํฌ๋กฌ์„ ์‚ฌ์šฉํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋‹จ์ถ•ํ‚ค F12๋ฅผ ํด๋ฆญํ•˜๋ฉด ํฌ๋กฌ ๊ฐœ๋ฐœ์ž๋„๊ตฌ๋ฅผ ์—ด ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ, ์›ํ•˜๋Š” ์—˜๋ฆฌ๋จผํŠธ ์œ„์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ์„ ํด๋ฆญํ•˜๊ณ  '๊ฒ€์‚ฌ' ์˜ต์…˜์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ์—˜๋ฆฌ๋จผํŠธ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ๊ฒ€์‚ฌ ์˜ต์…˜์„ ํ†ตํ•ด..