Selenium

[Selenium] 타이틀 비교

MASSO 2023. 1. 4. 00:27
728x90

이전, 참고하면 좋은 URL로 올린 블로그를 참고하여 간단하게 타이틀 비교 스크립트를 작성해보았다.
 

No. 절차 기대 결과
1. https://www.naver.com/ 진입 네이버 홈페이지로 이동
2. 네이버 카페 선택 네이버 카페 페이지로 이동
3. 네이버 블로그 선택 네이버 블로그 페이지로 이동
4. 네이버 지식iN 선택 네이버 지식iN 페이지로 이동

이번에 확인해볼 TC는 위와 같다.
 

 

참고로 타이틀은 탭에 출력된 이름, 이 화면의 경우 'NAVER' 부분이다.
 

import selenium
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
url = "https://www.naver.com/"
driver.get(url)
time.sleep(2)
main_title = driver.title
if main_title == "NAVER":
    #assert True
    print(main_title, "타이틀 PASS")

else:
    #assert False, "타이틀과 기대결과가 다릅니다."
    print(main_title, "타이틀 FAIL")
time.sleep(1)

메인 화면 타이틀부터 비교했다.
메인 홈의 타이틀(main_title)이 "NAVER"와 같다면 PASS, 그렇지 않다면 FAIL이 출력될 것이다.
assert는 참고한 블로그에 써있기에 적어봤는데.. False가 나올 경우 콘솔이 종료돼버려서 주석 처리했다.
개념 자체도 모호해서 다음에 개념부터 정확히 잡을 필요가 있을 듯?
 

driver.find_element(By.XPATH,'//*[@id="NM_FAVORITE"]/div[1]/ul[1]/li[2]/a').click()
time.sleep(1)

cafe_title = driver.title
if cafe_title == "네이버 카페":
    #assert True
    print(cafe_title, "타이틀 PASS")

else:
    #assert False, "타이틀과 기대결과가 다릅니다."
    print(cafe_title, "타이틀 FAIL")
time.sleep(1)

그 후 click()으로 카페 화면으로 진입한 뒤 결과 값을 출력해준다.
if문은 메인 타이틀과 동일하다.
 

driver.get(url)
time.sleep(1)

driver.find_element(By.XPATH,'//*[@id="NM_FAVORITE"]/div[1]/ul[1]/li[3]/a').click()
time.sleep(1)

blog_title = driver.title
if blog_title == "네이버 쁠로그":
    #assert True
    print(blog_title, "타이틀 PASS")

else:
    #assert False, "타이틀과 기대결과가 다릅니다."
    print(blog_title, "타이틀 FAIL")
time.sleep(1)

그 후 다시 메인으로 넘어가 이젠 블로그로 진입하여 결과 값을 출력해준다.
FAIL가 출력되는 경우도 보기 위해 일부러 "네이버 쁠로그"로 틀리게 작성하였으므로 FAIL이 출력될 것이다.
 

driver.get(url)
time.sleep(1)

driver.find_element(By.XPATH,'//*[@id="NM_FAVORITE"]/div[1]/ul[1]/li[4]/a').click()
time.sleep(1)

knowledge_title = driver.title
if knowledge_title == "네이버 지식iN":
    #assert True
    print(knowledge_title, "타이틀 PASS")

else:
    #assert False, "타이틀과 기대결과가 다릅니다."
    print(knowledge_title, "타이틀 FALSE")

그 후 다시 메인으로 넘어가 지식iN으로 진입하여 결과 값을 출력해준다.
 

결과적으로 이렇게 타이틀을 비교하여 PASS, FAIL을 알려주는 것을 볼 수 있다.
 

import selenium
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.maximize_window()
url = "https://www.amoremall.com/kr/ko/display/main"
driver.get(url)
time.sleep(2)

driver.find_element(By.XPATH,'//*[@id="__next"]/section[2]/div[2]/div/div[2]/button[2]').click()
time.sleep(1)

driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section[3]/div[2]/div/div[1]/div/a').click()
time.sleep(1)

driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section/section/div/div[1]/div/div[2]/div[4]/button[3]').click()
time.sleep(1)

driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section/section/div/div[1]/div/div[2]/div[4]/section[2]/div[2]/div/div/div[2]/button[2]').click()
time.sleep(1)

driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[2]/div[2]/div/div[2]/button[2]').click()
time.sleep(1)

login_title = driver.title
if login_title == "로그인 | 옴니통합회원":
    print("1 PASS")

else:
    print("1 FAIL")
time.sleep(2)

driver.back()
time.sleep(3)

driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section/section/div/div[1]/div/div[2]/div[4]/button[3]').click()
time.sleep(1)

driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[1]/section/section/section/div/div[1]/div/div[2]/div[4]/section[2]/div[2]/div/div/div[2]/button[2]').click()
time.sleep(1)

driver.find_element(By.XPATH,'//*[@id="__next"]/section/section[2]/div[2]/div/div[2]/button[1]').click()
time.sleep(1)

cash_title = driver.title
if cash_title == "결제하기":
    print("2 PASS")

else:
    print("2 FAIL")
time.sleep(1)

아모레몰 홈페이지로도 작성해보았다.

1. 구매하기 비회원 구매 선택 비회원 결제 화면으로 이동
2.  구매하기 로그인 선택 로그인 화면으로 이동

확인할 TC는 위와 같고,
 

실행 시 결과가 정상적으로 출력된다.

728x90

'Selenium' 카테고리의 다른 글

[Selenium] 실험1  (0) 2023.09.09
[Selenium] 크롬 창 종료 현상?  (0) 2023.06.16
[Selenium] 엑셀 파일 읽기/쓰기  (0) 2023.01.21
[Selenium] 뮤트하기  (0) 2023.01.08
[Selenium] 값 비교  (0) 2023.01.05