HTML & CSS

[48-5 Selenium] 셀레늄으로 웹브라우저와 상호작용하기, 클릭하기, click(), find_element, link_text, css_selector, 검색하기, send_keys, keys

Olivia-BlackCherry 2022. 10. 28. 07:18

셀레늄으로 웹브라우저와 상호작용하기

셀레늄을 이용하여, 웹브라우저와 상호작용하는 방법을 알아보자. 

<기본 코드>

https://en.wikipedia.org/wiki/Main_Page

from selenium import webdriver
from selenium.webdriver.common.by import By
chrome_driver_path = "C:\developer\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chrome_driver_path)
URL = "https://en.wikipedia.org/wiki/Main_Page"
driver.get(URL)

 

 

클릭하기

click()

웹브라우저에서 특정 요소를 클릭한다. 

counts = driver.find_element(By.CSS_SELECTOR, "#articlecount a")
counts.click()

button = driver.find_element_by_css_selector(".btn.btn-lg.btn-primary.btn-block")
button.click()

 

find_element(By.LINK_TEXT, ?)

number =driver.find_element(By.LINK_TEXT, "6,566,707")
number.click()

 

find_element(By.CSS_SELECTOR, ?)

클래스를 모두 적어도 되고, 고유한 클래스명만 적어도 된다. 

button = driver.find_element_by_css_selector(".btn-block")
button.click()
button = driver.find_element_by_css_selector(".btn.btn-lg.btn-primary.btn-block")
button.click()

 

 

검색하기

find_element(By.NAME, ?)

search = driver.find_element(By.NAME, "search")

 

send_keys(?)

브라우저에 입력하고 싶은 키보드 값을 ? 자리에 넣어준다. 

search.send_keys("Python")
fname = driver.find_element_by_name("fName")
fname.send_keys("Olivia")
lname = driver.find_element_by_name("lName")
lname.send_keys("Kim")
email = driver.find_element_by_name("email")
email.send_keys("oliviacodingschool@gmail.com")

 

Keys

셀레늄 패키지의 webdriver의 common폴더의 keys에서 Keys를 import한다. 

코드를 쓸 때는 send_keys(?)메서드를 쓴다.

? 자리에는 키보드에 적혀있는 키들이 올 수 있다. 

Enter, shift, ctrl, backspace 등등이다.

from selenium.webdriver.common.keys import Keys
search.send_keys(Keys.ENTER)

 

이렇게 코드를 작성하면 

자동으로 엔터가 눌러진다.