ν°μ€ν 리 λ·°
Selenium: PythonμΌλ‘ μμνκΈ°
dirmathfl 2020. 12. 18. 18:02μ λ λμμ μΉ ν¬λ‘€λ§μ νκ±°λ, μμ μ μλννκΈ° μν΄ μμ£Ό μ°μ΄κ³€ νλ€. λν, μ΄ κΈ°λ₯μ νμ©νμ¬ κ΅¬νν μΉμ ν μ€νΈ μΌμ΄μ€λ₯Ό μλμΌλ‘ μ€ν κ°λ₯νλλ‘ λ§λ€ μ μλ€. μ΄λ₯Ό μν΄ νμ΄μ¬μΌλ‘ μ λ λμμ μ¬μ©νκΈ° μν λ°©λ²μ λν΄ μ 리νκ³ μ νλ€.
μ€μΉ
1. selenium
νμ΄μ¬μ κ²½μ° `pip`κ° μμΌλ―λ‘ κ°λ¨νκ² μ€μΉν μ μλ€. μ€μΉ νκ²½μ Pycharmμ μ¬μ©νκ³ `venv`λ₯Ό μ¬μ©νλ νλ‘μ νΈλ₯Ό κΈ°μ€μΌλ‘ μ€λͺ νκ³ μ νλ€.
Pycharm νλ¨μ `Terminal`μ ν΄λ¦ ν νμ, `pip install selenium`μ μ λ ₯νλ©΄ κ°λ¨ν μ€μΉν μ μλ€.
2. web-driver
κ°μ μ¬μ©νκ³ μ νλ μΉμ λ°λΌ, μΉ λλΌμ΄λ² νμΌμ νλ‘μ νΈ ν΄λ λ΄μ μμΉμμΌμΌ νλ€. λν μΉ λλΌμ΄λ²μ νμ¬ λ‘컬μ μ¬μ©μ€μΈ μΉμ λ²μ μ΄ μΌμΉνμ¬μΌ νλ€.
ν¬λ‘¬μ κ²½μ° μ°μΈ‘ μλ¨μ `μ μΈκ° λ²νΌ`μ ν΄λ¦ ν, `λμλ§ → Chrome μ 보`λ₯Ό ν΅ν΄ λ²μ μ νμΈν μ μλ€. μ¬μ© μ€μΈ μΉ λΈλΌμ°μ μ λ²μ μ μμλ€λ©΄, μΌμΉνλ λ²μ μ λλΌμ΄λ²λ₯Ό λ€μ΄νλ©΄ λλ€.
λ€μ΄μ΄ λ λλΌμ΄λ²λ₯Ό νλ‘μ νΈ ν΄λ λ΄μ μμΉμν€λ©΄ λλ€. λ³΄ν΅ Pycharm νλ‘μ νΈμ κ²½μ° μλμ°λ₯Ό κΈ°μ€μΌλ‘, `C:\Users\[UserName]\PychamProcjests\[ProjectName]`μ΄ κ²½λ‘μ΄λ€. λ°λΌμ ν΄λΉ κ²½λ‘μ μΉ λλΌμ΄λ²λ₯Ό μμΉμν€λ©΄ λλ€.
3. μ€μΉλ ν¬λ‘¬ νμ©νκΈ°
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
μΈμ λΆν° μκ²Όλμ§ λͺ¨λ₯΄κ² μ§λ§, μμ κ°μ΄ `webdriver_manager`λ₯Ό νμ©νλ©΄ λ²κ±°λ‘κ² `web-driver`λ₯Ό λ€μ΄λ°μ§ μμλ νΈμ€νΈμμ μ€μΉλ ν¬λ‘¬μ νμ©νμ¬ μ λ λμμ μ€νν μ μλ€. built-in λΌμ΄λΈλ¬λ¦¬κ° μλκΈ°μ, `pip install webdriver_manager`λ₯Ό ν΅ν΄ λ³λλ‘ μ€μΉνμ¬μΌ νλ€.
κ°λ¨ν ν μ€νΈ
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
class DefaultTest:
def __init__(self):
self.driver = webdriver.Chrome()
# webdriver_managerλ₯Ό νμ©νλ κ²½μ°.
# self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
def teardown(self):
self.driver.quit()
def auto_test(self):
self.driver.get("https://www.google.com/")
self.driver.set_window_size(974, 1040)
self.driver.find_element(By.NAME, "q").send_keys("test")
self.driver.find_element(By.NAME, "q").send_keys(Keys.ENTER)
if __name__ == '__main__':
test = DefaultTest()
test.auto_test()
μμ μ½λλ₯Ό μ€ννμμ λ, ꡬκΈμ testλΌλ ν€μλλ₯Ό κ²μνλ€λ©΄ μ μμ μΌλ‘ μ¬μ© κ°λ₯ν μνμ΄λ€.
'π΅οΈββοΈ μ°λ¬Ό λ°μ κ°κ΅¬λ¦¬ > Selenium' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Selenium : 'νΉμ νλ‘κ·Έλ¨'μ(λ₯Ό) μ¬μκ² μ΅λκΉ? (0) | 2022.01.11 |
---|---|
Selenium: webdriver_manager νμ©νκΈ° (0) | 2022.01.10 |
Selenium: νμ μ°½ 컨νΈλ‘€νκΈ° (7) | 2020.12.20 |
Selenium: μμ νμ§ μμ νμ΄μ§ μ€ν΅νκΈ° (8) | 2020.12.19 |