๐ข ์ฌ๋ ๋ง
ํฌ๋กค๋ง์ ๋ํด ์กฐ๊ธ ์ต์ํด์ง์๋ง์ ํญ์ ๊ถ๊ธํ๋ ์๋๋ก๊ทธ์ธ์ ๋ฐ๋ก ์ค์ตํด๋ณด๊ธฐ๋ก ํ๋ค. ์ต๋ํ ์๋ ๊ฒ์ ํ์ฉํ๋ฉด์ ๋ง๋ค์ด๋ณผ ์์ ์ด์๋๋ฐ ์๊ฐ๋ณด๋ค ํค๋งจ ๋ถ๋ถ๊ณผ ์๋กญ๊ฒ ์๊ฒ๋ ์ ์ด ์์๊ธฐ์ ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ ค๊ณ ํ๋ค.
driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/")
๋ก๊ทธ์ธ ์๋ํ๊ฐ ์คํ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์๋ํ ์์ํ์ด์ง๋ฅผ ๋ก๊ทธ์ธ ํ๋ฉด์ผ๋ก ์ค์ ํ๋ค.
#CSS ์ ํ์๋ฅผ ์ ํํ๊ณ ํด๋น HTML๋ถ๋ถ ์ฐพ๊ธฐ id= driver.find_element(By.CSS_SELECTOR, "#id") #ํด๋น HTML ๋ถ๋ถ ํด๋ฆญ id.click() #ํค๋ณด๋๋ก Id ์ ๋ ฅ id.send_keys("kknd2848")
์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฌธ์ ๊ฐ ์๊ฒผ๋ค. ๋๋ฌด ๋น ๋ฅด๊ฒ ์๋์ผ๋ก ์์ด๋๊ฐ ์
๋ ฅ๋์ด ์๋์
๋ ฅ๋ฐฉ์ง๋ฌธ๊ตฌ
๊ฐ ๋ ์ ๋ก๊ทธ์ธ์ด ์๋๋ ์ํฉ์ด๋ค.
id.send_keys("kknd2848")
์ด ๋ถ๋ถ์ ํค๋ณด๋๋ก Id๋ฅผ ์
๋ ฅํ๊ฒ ๋ค๋ ๋ป์ธ๋ฐ, ์ด ๋ช
๋ น์ด ๋๋ฌธ์ ์๋์
๋ ฅ๋ฐฉ์ง๋ฌธ๊ตฌ๊ฐ ๋จ๋ ๊ฒ ๊ฐ์ ๋ฐ์์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ ํ๋ค.
id= driver.find_element(By.CSS_SELECTOR, "#id") id.click() pyperclip.copy("kknd2848") pyautogui.hotkey("ctrl","v")
pyperclip.copy("kknd2848")
์ ๊ดํธ ์์ ์๋ ๊ฒ์ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌํ๋ค๋ ์๋ฏธ์ด๋ค. ์ด ๋ณต์ฌํ ๊ฐ์ pyautogui.hotkey("ctrl","v")
์ ํตํด ๋ถ์ฌ๋ฃ๊ธฐ ํด์ฃผ์๋ค. hotkey() ํจ์
๋ ์ฌ๋ฌํค๋ฅผ ๋์์ ์
๋ ฅํ ๋, keyDown๊ณผ keyUp์ ์ฌ์ฉํ๋ฉด ๋ถํธํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๋ค.
์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์์ ํด์ฃผ์๋๋ ์๋์ ๋ ฅ๋ฐฉ์ง๋ฌธ๊ตฌ๊ฐ ๋จ์ง ์๊ณ ์ ์์ ์ผ๋ก ๋ก๊ทธ์ธ์ด ๋์๋ค. โจ
๐ ์์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด import ๊ตฌ๋ฌธ๋ ์ถ๊ฐํด์ค์ผ ํ๋ค.
import pyautogui import pyperclip
์๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ๋์ ๋ณด๋๊น ํ๋ฉด์ด ๋๋ฌด ์๋ค. ๊ทธ๋์ ํ๋ฉด์ ์ต๋๋ก ๋๋ฆด ์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ฐพ์์ ์์ฑํด์๋๋ ํ๋ฉด์ด ํฌ๊ฒ ๋ํ๋ฌ๋ค.
driver.maximize_window()
driver.implicitly_wait(5)
selenium์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ ๋์ ํฌ๋กค๋งํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๋ฐ๋ผ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋จผ์ ๋์ฐ๊ณ ์์ ํ ๋ก๋ฉ์ด ๋ค ๋ ํ์, ์ํ๋ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค. implicitly_wait( )๋ ์น์ด ์์ ํ ๋ก๋ฉ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ์ญํ ์ ํ๋ค.
implicitly_wait(10)
time.sleep(10)