김빵디

Python+Selenium 구글사이트 자동검색 해보기 본문

외로운 싸움/Selenium

Python+Selenium 구글사이트 자동검색 해보기

김빵디 2022. 5. 20. 18:07
728x90

이것저것 크롤링도해보고싶고 간단한 예제를 풀어보고싶은데

한 요소에 접근하는 메서드부터 알아야겠다고 생각이 들었다.

 

▶ Selenium 에서 제공하는 메서드

1. find_element_by_id : id 속성을 사용하여 접근

2. fine_element_by_name : name 속성을 사용하여 접근

3. fine_element_by_xpath : xpath 속성을 사용하여 접근

4. fine_element_by_link_text : 앵커태그(a태그)에 사용되는 텍스트로 접근

5. fine_element_by_partial_link_text : 앵커태그(a태그)에 사용되는 일부 텍스트로 접근

6. fine_element_by_tag_name : 태그를 사용하여 접근

7. fine_element_by_class_name : 클래스를 사용하여 접근

8. fine_element_by_css_selector : CSS 선택지를 사용하여 접근

 

음 위에 나와있는 총 8가지의 메서드를 보면 fine_element_by_~~~~로 시작하는구나!

from selenium import webdriver

drive=webdriver.Chrome()
url='https://google.com'
drive.get(url)

drive.find_element_by_css_selector('.gLFyf.gsfi').send_keys('파이썬')
 
이전에 작성했던 포스트에서 위 코드를 사용했었는데 여기보면 drive.fine_element_by_css_selector를 보면
CSS 선택지를 사용해서 접근하는데  '파이썬'이라는 문자를 현재 커서가 위치한곳에 넣는다는 뜻
 
여기서 더 해볼까
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver=webdriver.Chrome()
url='https://google.com'
driver.get(url)

#네이버 검색
gogle = driver.find_element_by_css_selector('.gLFyf.gsfi')
gogle.send_keys('네이버')
gogle.send_keys(Keys.RETURN)

#예외처리
assert "네이버" in driver.title
 

이렇게 해서 구글에 네이버를 검색하고 종료되는데 예외처리까지 적어봤다!

 

웹페이지에서 F12 누르면 개발자모드로 대략적인 코드를 볼수있는데

이렇게 보기보다는 보고싶은곳 마우스에올려두고(html구성요소 Element) 오른쪽클릭하면 검사버튼이 있다.

그럼 해당부분이 보이는데(=속성값이 보이는데) 이렇게 확인하는방법이 최고인것같다

[알아두기] 내가 찾고자하는 html 구성요소는 Element라고 지칭한다!!!

테스트 자동화에서는 오브젝트나 엘ㄴ리먼트로 조작을 원하는 대상을 지칭한다고한다 알아둬야지..

728x90