셀레늄으로 웹브라우저와 상호작용하기
셀레늄을 이용하여, 웹브라우저와 상호작용하는 방법을 알아보자.
<기본 코드>
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)
이렇게 코드를 작성하면
자동으로 엔터가 눌러진다.
'HTML & CSS' 카테고리의 다른 글
[49-2 Selenium] 현재 URL가져오기, current_url (0) | 2022.10.30 |
---|---|
[49-1 Selenium] 자동로그인, 자동 저장, 자동 지원하기, 셀레늄 실전 예제 (0) | 2022.10.30 |
[48-4 Selenium] 웹스크래핑 연습 문제, find_element, ID, # (0) | 2022.10.25 |
[48-3 Selenium] class 이름이 긴 경우, class 이름에 공백이 있는 경우, find_elements, CSS_SELECTOR, 데이터프레임 (0) | 2022.10.25 |
[48-2 Selenium] 특정 HTML 요소 찾기, get, find_element, by 클래스, ID, Class name, css selector, Xpath (0) | 2022.10.23 |