브라우저 = 크롬
브라우저 = 사파리
1) 렌더링 : 화면에 그려주는 것 -> 무엇을 그리느냐? html 문서를 화면에 그리는 것
2) 편의기능 (북마크, 비밀번호 채워주기, 보안, 동기화, 개인화 등)
3) 예시
1) 브라우저 테스팅 툴 / 브라우저 원격 조종 툴
: 예 ) 페이스북 개발을 한다고 할 때, 무한 스크롤이 잘 작동하는지 테스트를 해야 한다.
2) 셀레니움 원리
: 디버깅 모드의 브라우저와 TCP 통신, 마치 리모컨
❓ TCP 통신 : Handshake라는 과정으로 서로가 통신을 할 수 있는 상태를 먼저 인증을 하고 나서 통신을 하는 연결지향적인 양방향 통신. 클라이언트와 서버가 소켓을 각자 생성하여 서로에 대한 상태를 상시 확인할 수 있다.
1) 동적 웹 페이지와의 차이 : https://velog.io/@ppyooy336/%EC%A0%95%EC%A0%81-%EB%8F%99%EC%A0%81-%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%B0%A8%EC%9D%B4%EB%8A%94
2) 정적 웹: 주는 대로 그림
-> HTML 와 CSS로 이루어진 파일을 그대로 화면에 옮기는 것.
3) 서버와 클라이언트의 흐름 및 특징
1) 원리
2) 서버와 클라이언트의 흐름 및 특징
1) 먼저, 크롬과 크롬 드라이버를 설치한다.
❓ 크롬 드라이버 : 크롬과 셀레니움을 연결시켜주기 위함.
--> 이 때, 현재 크롬의 버전과 일치하는 크롬 드라이버를 설치해준다.
2) python3 -m pip install selenium
3)
from selenium import webdriver
import time
browser = webdriver.Chrome("./chromedriver")
browser.get("http://naver.com")
time.sleep(10)
browser.close()
--> 결과 : 네이버 사이트가 켜졌다가 10초 후 꺼진다.
1) 도커
: 가상의 컴퓨터를 실험실처럼 만들어 사용하는 것
2) 도커에 셀레니움을 실행하기 위해 docker hub 홈페이지에서
도커를 위한 스탠다드 허브를 찾은 다음, 명령창에서 설치해준다.
--> docker run -p 4444:4444 seleninum/standalone-chrome
3)
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
browser = webdriver.Remote("http://127.0.0.1:4444/wd/hub", DesiredCapabilities.CHROME)
browser.get("http://naver.com")
print(browser.title)
browser.close()
--> 결과 : 도커에서 실행되는 것이기 때문에 네이버 창이 실제로 뜨지는 않지만 print(browser.title)을 통해 NAVER 가 출력되는 것을 알 수 있다.