์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- error
- fe
- Python
- ์๊ณ ๋ฆฌ์ฆ
- ๊ทธ๋ฆฌ๋
- Til
- mongodb
- JS
- ๊ฐ๋ฐ
- KDT
- CSS
- ํ์ด์ฌ
- ๋ ธ๋ง๋์ฝ๋
- ํ๋ก๊ทธ๋๋จธ์ค
- ํ๋ก ํธ์๋
- ๋ชจ๊ฐ์ฝ
- ํ ์ดํ๋ก์ ํธ
- ์ฝ๋ฉํ ์คํธ
- HTML
- ํฌ๋กค๋ง
- ๊ตญ๋น์ง์
- ๋ฐฑ์ค
- ๋๋ฆผ์ฝ๋ฉ
- heapq
- ์ฝ๋ฉ
- javascript
- react
- ์ฝ๋ฉ์ ํ
- node.js
- ํ๋ก์ ํธ
- Today
- Total
๐ฑ → ๐ณ
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 11์ผ์ฐจ ๋ณธ๋ฌธ
#11. ๋์ ํฌ๋กค๋ง โก
๐ํฌ๋กค๋ง ๋์ ์ฌ์ดํธ ์ดํด๋ณด๊ธฐ
์ค๋์ ํํ๊ณ ๋ฅผ ์ฌ์ฉํ ๋ฒ์ญ๊ธฐ๋ฅผ ๋ง๋ค์ด ๋ด
๊ทธ๋ฌ๊ธฐ ์ํด ํํ๊ณ ์ ์ ์ํ์ฌ ์ง์ ์ฌ์ดํธ๋ฅผ ์ดํด๋ด
๋ค์ด๋ฒ ํํ๊ณ
๋ฒ์ญ์ ๋ถํํด ํํ๊ณ
papago.naver.com
1๏ธโฃ ๋์ ํฌ๋กค๋ง ์งํ ์์
๋์ ํฌ๋กค๋ง์ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๋ฅผ ์ฆ์ ์์งํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์
๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํ ์์๋ฅผ ์๊ฐํ๋ ๊ฒ์ด ์ค์
ํํ๊ณ ์ ์ ์ํด์ ๋ฒ์ญ์ ๋ฐ๊ธฐ ์ํด, ์๋ ์์ ์ ๊ฑฐ์นจ
- ๋ฒ์ญํ ๋ด์ฉ์ ์ผ์ชฝ ์ฐฝ์ ์ ๋ ฅ
- ๋ฒ์ญ ๋ฒํผ์ ํด๋ฆญ
- ๋ฒ์ญ ๊ฒฐ๊ณผ๋ฅผ ์์ง
(ํํ๊ณ ๋ ๋ฒ์ญ ๋ฒํผ์ ๋๋ฅด์ง ์์๋ ์๋์ผ๋ก ๋ฒ์ญ ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง๋ง
๋๋ฝ ๋ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ฒ์ญ ๋ฒํผ์ ํด๋ฆญํ๋ ์์ ์ ํฌํจ)
2๏ธโฃ ํ์ํ ์์์ ํ๊ทธ ๋ฐ ์ ํ์ ํ์ธ
ํํ๊ณ ์ html ์ฝ๋๋ฅผ ์ดํด๋ณด๊ณ 3๊ฐ ์์์ ํ๊ทธ ๋ฐ ์ ํ์ ํ์ธ
โ ๋ฒ์ญ ์ ๋ ฅ
# ๋ฒ์ญ ์
๋ ฅ ์นธ
"textarea#txtSource"
๋ง์ฐฌ๊ฐ์ง๋ก ๋ฒ์ญ ๋ฒํผ๊ณผ ๋ฒ์ญ ๊ฒฐ๊ณผ๋ ์ฐพ์์ค
# ๋ฒ์ญ ๋ฒํผ
"button#btnTranslate"
# ๋ฒ์ญ ๊ฒฐ๊ณผ
"div#tetTarget.edit_box___1KtZ3.active___3VPGL"
๐ํ์ด์ฌ ์ฝ๋ ์์ฑ
1๏ธโฃ ์ฌ์ ์์
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import time
chrome_driver = ChromeDriverManager().install()
service = Service(chrome_driver)
driver = webdriver.Chrome(service = service)
2๏ธโฃ ํํ๊ณ ํ์ด์ง๋ก ์ด๋
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import time
chrome_driver = ChromeDriverManager().install()
service = Service(chrome_driver)
driver = webdriver.Chrome(service = service)
URL = "https://papago.naver.com/"
driver.get(URL)
time.sleep(3)
3๏ธโฃ ์๋จ์ด ์ ๋ ฅ๋ฐ๊ธฐ
inputํจ์๋ฅผ ์ฌ์ฉํด ๋ฒ์ญํ๊ณ ์ถ์ ์๋จ์ด ์ ๋ ฅ ๋ฐ์
question = input("๋ฒ์ญ ํ ์๋จ์ด๋ฅผ ์
๋ ฅํ์ธ์. : ")
4๏ธโฃ ํ๊ทธ ์ ํ, find_element ํจ์์ By
- ์ ๋ ฅ๊ฐ์ ๋ด๋นํ๋ HTML ํ๊ทธ ์ ํ
- ๋ฐ์ดํฐ ์ ์ก
find_element
from selenium.webdriver.common.by import By
driver.find_element(By.๊ฒ์๋ฐฉ๋ฒ, "๊ฒ์์ด" )
find_element ํจ์๋ ๊ฒ์ ๋ฐฉ๋ฒ๊ณผ ๊ฒ์์ด, ๋ ๊ฐ์ง ์ธ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์
๊ฒ์ ๋ฐฉ๋ฒ์ xpath, css_selector, id ๋ฑ ์ฌ๋ฌ๊ฐ์ง ์กด์ฌ
์ค๋์ CSS_Selector ์ฌ์ฉ!
driver.find_element(By.CSS_SELECTOR, " ํ๊ทธ์ ์ ํ์์กฐํฉ ")
๊ฒ์์ด๋ก ์ํ๋ HTML ์์์ ํ๊ทธ์ ์ ํ์๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๊ฒ์๋ HTML ์์๋ฅผ ๋ฆฌํดํด ์ค
form = driver.find_element(By.CSS_SELECTOR, "textarea#txtSource")
5๏ธโฃ ๋ฐ์ดํฐ ์ ์ก, send_keys
send_key
: HTML ์์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ํจ์
"Selenium์ HTML์์".send_keys("์ ์กํ ๊ฐ")
form = driver.find_element(By.CSS_SELECTOR, "textarea#txtSource")
form.send_keys(question)
6๏ธโฃ ๋ฒ์ญ ๋ฒํผ ํด๋ฆญ
click : HTML ์์๋ฅผ ํด๋ฆญํด์ฃผ๋ ํจ์
button = driver.find_element(By.CSS_SELECTOR, "button#btnTranslate")
button.click()
time.sleep(2)
๋ฒ์ญํ๊ธฐ ๋ฒํผ์ ์ ํํ๊ณ ํด๋ฆญ
7๏ธโฃ ๋ฒ์ญ ๊ฒฐ๊ณผ ์ถ๋ ฅ
result = driver.find_element(By.CSS_SELECTOR, "div#txtTarget")
print(question, "->", result.text)
๋ฒ์ญ ๊ฒฐ๊ณผ ๋ฐ์์ด
8๏ธโฃ ํฌ๋กฌ ์ฐฝ ๋ซ๊ธฐ
driver.close()
โโญ์ ๋ฆฌํ๊ธฐโญ
โโ ์น ํ์ด์ง ์ดํด๋ณด๊ธฐ
โ driver๋ฅผ ํ์ฉํ ์ ํ์ ์ฌ์ฉ
โ ์ ๋ ฅํ๊ธฐ
- ์ ๋ ฅ์ ์ํ ํจ์ send_keys( )
- ํด๋ฆญ์ ์ํ ํจ์ click( )
โ ๊ฒฐ๊ณผ ๊ฐ์ ธ์ค๊ธฐ
'Server > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 13์ผ์ฐจ (0) | 2022.04.08 |
---|---|
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 12์ผ์ฐจ (0) | 2022.04.08 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 10์ผ์ฐจ (0) | 2022.04.08 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 9์ผ์ฐจ (0) | 2022.03.25 |
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 8์ผ์ฐจ (0) | 2022.03.25 |