๋ฐ˜์‘ํ˜•

์…€๋ ˆ๋‹ˆ์›€์— ๊ด€ํ•œ ์ „๋ฐ˜์ ์ธ ๋‚ด์šฉ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

[์…€๋ ˆ๋‹ˆ์›€/Selenium, C#] C#์—์„œ ์…€๋ ˆ๋‹ˆ์›€์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ด์ •๋ฆฌ

 

[์…€๋ ˆ๋‹ˆ์›€/Selenium, C#] C#์—์„œ ์…€๋ ˆ๋‹ˆ์›€์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ด์ •๋ฆฌ

์…€๋ ˆ๋‹ˆ์›€(Selenium)์ด๋ž€? ์…€๋ ˆ๋‹ˆ์›€์€ ์›น ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋ˆˆ์— ๋ณด์ด๋Š” ๋ชจ๋“  ์ฝ˜ํ…์ธ ์— ์ž…๋ ฅ, ํด๋ฆญ, ๊ฐ€์ ธ์˜ค๊ธฐ ๋“ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์›น ์‚ฌ์ดํŠธ ์ ‘์†๋ถ€ํ„ฐ ๋กœ๊ทธ์ธ, ๊ฒ€์ƒ‰, ๏ฟฝ

luckygg.tistory.com

์†Œ๊ฐœ

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋กœ์ปฌ PC์˜ ํŒŒ์ผ์„ Selenium Webdriver๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ผ ๋˜๋Š” ๋‹ค์ค‘ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ์—…๋กœ๋“œ ๋™์ž‘

Selenium Webdriver๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋™ํ™” ์—…๋ฌด ์ค‘์—๋Š” ๋ฐ์ดํ„ฐ ์ž…๋ ฅ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒŒ์ผ ์—…๋กœ๋“œ ๋™์ž‘๋„ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŠน์ • ๊ทœ์น™์œผ๋กœ ๋กœ์ปฌ PC์˜ ํŒŒ์ผ์„ ์ผ์ผ์ด ์—…๋กœ๋“œํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง ๊ท€์ฐฎ์€ ์—…๋ฌด์ด์ง€์š”.

ํŒŒ์ผ ์—…๋กœ๋“œ ์˜ˆ์‹œ

๋‹น์—ฐํ•˜๊ฒŒ๋„, Selenium Webdriver๋กœ ํŒŒ์ผ ์ฒจ๋ถ€๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•๋„ ์•„์ฃผ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ ํ•˜๊ธฐ

์œ„ ์˜ˆ์‹œ ์ด๋ฏธ์ง€์˜ ํŒŒ์ผ์ฐพ๊ธฐ XPath๋Š” //*[@id='uploader'] ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น Element๋ฅผ ์ฐพ์€ ํ›„ SendKeys ํ•จ์ˆ˜ ์ธ์ž์— ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ๋ณด๋‚ด๋ฉด ์—…๋กœ๋“œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

//List<string> files;
foreach (var file in files)
{
	var attach = _driver.FindElement(By.XPath("//*[@id='uploader']"));
	attach.SendKeys(file.directory + "\\" + file.fileName);
}

์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด, ํŒŒ์ผ์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ํŒŒ์ผ์ฐพ๊ธฐ Element๋ฅผ ์ฐพ๊ณ  SendKeys๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์ž๋™์œผ๋กœ ํŒŒ์ผ ๋ชฉ๋ก์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

์ฃผ์˜
 
 

FindElement๋ฅผ ๋ฐ˜๋ณต๋ฌธ ๋ฐ–์—์„œ 1ํšŒ ํ˜ธ์ถœํ•˜๊ณ , ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ SendKeys๋งŒ ์—ฌ๋Ÿฌ ๋ฒˆ ํ˜ธ์ถœํ•˜๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Element๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์‚ฌ์ดํŠธ๋งˆ๋‹ค ๋‹ค๋ฅธ์ง€ ์•„๋‹ˆ๋ฉด Selenium Webdriver๊ฐ€ ์›๋ž˜ ์ด๋ ‡๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๋ฐ˜์‘ํ˜•