[데브코스 TIL] DAY10 파이썬으로 웹다루기 (4)

May·2024년 4월 4일

오늘의 학습 주제


1. HTML을 분석해주는 BeautifulSoup
2. 원하는 요소 가져오기 1
3. HTML의 Locator로 원하는 요소 찾기
4. 원하는 요소 가져오기 2
5. 동적 웹 페이지와의 만남

 

1~4.동적 웹 페이지와의 만남


  • 실습 파일 참고

  • 실습 중 발생한 ERROR

ElementNotInteractableException: Message: element not interactablE
element not interactable: https://programmers.co.kr/account/sign_in(랜딩패이지) has no size and location
  • 설명
요소가 화면에 보이지 않거나, 숨겨져 있거나, 아직 로딩되지 않았거나, 상호 작용을 받을 수 없는 상태일 때 이 에러가 발생할 수 있다.
추가 메시지에서 확인할 수 있는 것처럼 문제가 된 요소가 크기나 위치가 없어 상호 작용할 수 없음을 나타낸다.
이는 요소가 화면에 실제로 렌더링되지 않았거나 보이지 않는 상태임을 의미할 수 있다.
즉, 화면의 크기가 작아 찾고자 하는 요소가 보이지 않아서 발생한 문제.
  • 해결방법
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("사이트")
driver.maximize_window() # 브라우저 창을 최대화하는 Selenium WebDriver의 메소드 추가

# 이 명령은 driver.get() 메소드를 호출하여 웹 페이지를 불러온 직후에 사용하는 것이 일반적이다. 
# 이렇게 하면 페이지가 처음부터 최대화된 상태로 로드된다.

Appendix Jupyter Lab 시작하기


1. Jupyter Lab

  • Interactive한 Python 코드 작성/공유를 위한 개발 도구
  • jUpyter Lab 설치하기 - 터미널 환경에서 pip 이용!
    pip install jupyterlab
  • Jupyter Lab 명령을 통해 실행

2. Jupyter Lab 사용 방법

  • 명령모드(ESC), 입력모드(ENTER)
  • Code Cell(Y), Markdown Cell(M)
  • A(adove)를 통해 현재 cell 위에 새로운 cell 추가
  • B(below)를 통해 현재 cell 아래에 새로운 cell 추가
  • dd를 통해 현재 Cell 삭제
  • ctrl/cmd + ENTER를 통해 현재 cell 실행

3. 마크다운

1.Header(#, ##, ###, ...)
2.Italic(*...*, _..._)
3.Bold(**...**, __...__)
4. Strikethrough (~...~)
5. Unordered List(- ..., * ...)
6. Ordered List(1. ..., 2. ...)
7. Code(`...`)
8. Code Block(```python...```)

0개의 댓글