์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ํ์ด์ฌ
- ๊ทธ๋ฆฌ๋
- ์๊ณ ๋ฆฌ์ฆ
- JS
- ํ ์ดํ๋ก์ ํธ
- heapq
- Til
- HTML
- node.js
- ์ฝ๋ฉํ ์คํธ
- KDT
- ๋ฐฑ์ค
- Python
- ๊ตญ๋น์ง์
- ์ฝ๋ฉ์ ํ
- ํฌ๋กค๋ง
- ํ๋ก์ ํธ
- mongodb
- react
- ์ฝ๋ฉ
- ํ๋ก๊ทธ๋๋จธ์ค
- ํ๋ก ํธ์๋
- ๋๋ฆผ์ฝ๋ฉ
- CSS
- ๊ฐ๋ฐ
- ๋ ธ๋ง๋์ฝ๋
- error
- ๋ชจ๊ฐ์ฝ
- fe
- javascript
- Today
- Total
๐ฑ → ๐ณ
๋ชจ๊ฐ์ฝ ํ์ด์ฌ ํฌ๋กค๋ง 11์ผ์ฐจ ๋ณธ๋ฌธ
#11. ๋์ ํฌ๋กค๋ง โก
๐ํฌ๋กค๋ง ๋์ ์ฌ์ดํธ ์ดํด๋ณด๊ธฐ
์ค๋์ ํํ๊ณ ๋ฅผ ์ฌ์ฉํ ๋ฒ์ญ๊ธฐ๋ฅผ ๋ง๋ค์ด ๋ด
๊ทธ๋ฌ๊ธฐ ์ํด ํํ๊ณ ์ ์ ์ํ์ฌ ์ง์ ์ฌ์ดํธ๋ฅผ ์ดํด๋ด
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 |