python๋ ์ข์ง๋ง nodejs๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด๋๋ฐํ์ ์๋ํ ํ๋ ค ํฉ๋๋ค. ์ค๋ ๋ด์ฉ์๋ ๋ก๊ทธ์ธ๊น์ง๋ง ๊ธฐ์ฌํ๊ณ , ์์์ ๋ง๋ณด๊ธฐ๋ก ์ํ ์์ ๋ก ๊ณต๊ฐ ํ๊ฒ ์ต๋๋ค ์ด๋ณด์๋ ์ด๋ ค์ธ ์ ์์ง๋ง ์ต๋ํ ๋ง์ ์์ ์ ํตํด ์ฝ๊ฒ ํ ์ ์๋๋ก ์์ฑํ๋๋ก ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค. ์ ์ PC ํ๊ฒฝ์ Mac์ bigsur(OS 11) ์ ๋๋ค.
1๋จ๊ณ .NodeJS์ Visual code ์ค์น
๐ ์ ๋งํฌ๋ฅผ ๋ณด์๋ค๋ฉด visual code ํ๋ก๊ทธ๋จ ์ค์น์ nodejs ๋ค์ด๋ก๋ ํฉ๋๋ค. express install์ ์ํด๋ ๋ฉ๋๋ค
2๋จ๊ณ. Selenium ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ Chrome driver๋ฅผ ์ค์น
ํฐ๋ฏธ๋ ์คํ๋ฐฉ๋ฒ : command + space > ํฐ๋ฏธ๋ ๊ฒ์ํ์ฌ Selenium ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์นํฉ๋๋ค.
npm install selenium
- Chromedriver ์ค์น ํ ํ์ผ ์์น ์ด๋ํฉ๋๋ค.(๋ค์ด๋ก๋ ๋งํฌ : https://chromedriver.storage.googleapis.com/index.html?path=100.0.4896.60/)
mv chromedriver /usr/local/binโ
* ์๋๋ ๋ช ๋ น์ด๋ก ์ค์นํด๋ ๋๋๋ฐ, ๊ฐํน ๋ฒ์ ์ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์์ด ๋งํฌ๋ก ์ ๋ฌํฉ๋๋ค.๋ค๋ฅธ ์น๋ธ๋ผ์ฐ์ ๋ ๋ง์ด ์ฌ์ฉํ์ง๋ง ์ฐ๋ฆฌ๋ Chrome์ด ์ต์ํ๊ธฐ ๋๋ฌธ์ ํฌ๋กฌ์ผ๋ก driver๋ฅผ ์ค์นํฉ๋๋ค.
brew install --cask chromedriver
3๋จ๊ณ. visual code ํ๋ก๊ทธ๋จ์ ์คํํ์ฌ selenium ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋ ํด๋๋ฅผ ์ด๊ณ ์๋ก์ด ํ์ผ ์์ฑ
3-1. ๋ฌธ์ ์์ฑ ๋ฒํผ์ ๋๋ฆ
๋๋ค.
3-2. selenium_test.js ํ์ผ์ ์์ฑํ๋ค. ํ์ฅ์๋ ๊ผญ js๋ก ์ง์ ํฉ๋๋ค.
3-3. ์๋ ์์ค๋ฅผ selenium_test.js ๋ณต์ฌํ์ฌ ๋ถ์ฌ ๋ฃ๊ณ CTRL+S(์ ์ฅ)ํฉ๋๋ค.
const webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until,
Key = webdriver.Key;
const driver = new webdriver.Builder()
.forBrowser('chrome')
.build();
driver.get('https://creators.kakao.com/channel/๋ณธ์ธ์ฑ๋ID/board/create').then(function(){
let inputId = driver.findElement(By.css('input#id_email_2'));
inputId.sendKeys('์นด์นด์คID');
let inputpw = driver.findElement(By.css('input#id_password_3'));
inputpw.sendKeys('๋น๋ฐ๋ฒํธ', Key.ENTER);
});
๐จ ์ ์์ค ์ฐธ๊ณ ์ ์ฃผ์ ์ฌํญ๐จ
- ๋ณธ์ธ ์นด์นด์ค๋ทฐ ์ฑ๋ ID๋ฅผ ์ฐพ์์ ์
๋ ฅํฉ๋๋ค.
- ๋ณธ์ธ ์นด์นด์ค ๋ก๊ทธ์ธ ID๋ฅผ ์
๋ ฅํฉ๋๋ค
- ๋ณธ์ธ ์นด์นด์ค ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํฉ๋๋ค.
๐ ์นด์นด์ค 2๋จ๊ณ ์ธ์ฆ์ ํ์ด์ผ ํ๋ค. ์นด์นด์ค ๋ฉ์์ง๋ก ๋ก๊ทธ์ธ ์ ๋ณด๋ ๋ฐ์๋ณผ ์ ์์ต๋๋ค.
- ์นด์นด์ค ์ค์ > ๊ฐ์ธ/๋ณด์/ > ์นด์นด์ค ๊ณ์ > 2๋จ๊ณ ์ธ์ฆ > ํด์ ํ๊ธฐ
4๋จ๊ณ. ํฐ๋ฏธ๋์ ์คํํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น๋ ์์น๋ก ์ด๋ ํ์ฌ ์๋ ๋ช ๋ น์ด๋ฅผ ์น๋ฉด ์๋ ๋ก๊ทธ์ธ ์ฑ๊ณต
- ๋ช ๋ น์ด๋ ์๋์ ๊ฐ์ต๋๋ค.
//์์น ์ด๋
cd node_modules
cd selenium-webdriver
//ํ์ผ ์คํ
node selenium_test.js
๋ง๋ณด๊ธฐ ์์
ํด๋น ์์์ ์นด์นด์ค ๋ก๊ทธ์ธ ํ ์ฑ๋์์ ์ ๋ชฉ/๋ด์ฉ/๋งํฌ๊น์ง ๋ด์๋ณด๋ ๋ด์ฉ์ ๋๋ค. ์ง๊ธ๋ ๊พธ์คํ ์์ ํด๋ณด๊ณ ์์ต๋๋ค. ๋ค๋ง ์ ์ ์ ์ฅ์์ ์ด๋ป๊ฒํด์ผ ์ ๋ง ํธ๋ฆฌํ ๊ธฐ๋ฅ์ผ๋ก ๋์ํ ์ง์ ๋ํ ์๊ฐ์ด ๋ง์ 4~5๋จ๊ณ ๊ฒ์๊ธ์ด ๋ฆ์ด์ง๋ ์ ์ํด๋ถํ๋๋ฆฝ๋๋ค.
๋๊ธ