전체 네트워크 최전python 라이브러리selenium 자동화 사용 상세 강좌
1. selenium 설치
pip install Selenium
2. 브라우저 초기화
from selenium import webdriver
driver = webdriver.Chrome()
3. 브라우저 크기 설정
maximize_윈도우 최대화 창
set_window_크기 사용자 정의 창 크기
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
4. 액세스 페이지
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
5. 포지셔닝 요소
요소를 포지셔닝하는 기본 방법은 다음과 같다.
요소 찾기
여러 요소 찾기
설명하다
find_element_by_id
find_elements_by_id
원소 id를 통해 위치 추적
find_element_by_name
find_elements_by_name
요소name을 통해 위치 지정
find_element_by_xpath
find_elements_by_xpath
xpath 표현식을 통해 포지셔닝
find_element_by_link_text
find_elements_by_link_tex
전체 하이퍼링크를 통한 위치 지정
find_element_by_partial_link_text
find_elements_by_partial_link_text
부분 링크를 통해 위치 지정
find_element_by_tag_name
find_elements_by_tag_name
태그를 통한 위치 지정
find_element_by_class_name
find_elements_by_class_name
클래스 이름을 통해 포지셔닝
find_elements_by_css_selector
find_elements_by_css_selector
css 선택기를 통해 위치 추적
실례 설명: 바이두 첫 페이지의 입력 상자를 찾습니다
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.find_element_by_id('kw')
6. 요소를 포지셔닝하는 또 다른 기법
By 모듈 도입 필요
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.find_element(By.ID, 'kw')
7. 원소 상호작용
방법
설명하다
click()
요소 클릭
send_keys(입력한 값)
아날로그 입력
clear()
작업 지우기
submit()
양식 제출
get_attribute(name)
요소의 속성 값 가져오기
location
요소 위치 가져오기
text
요소의 텍스트 값 가져오기
size
요소 크기 가져오기
id
요소의 id 값 가져오기
tag_name
요소의 태그 이름 가져오기
실례 설명: 바이두 입력 상자에 autofelix라고 입력하고 검색 단추를 누르십시오
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.find_element_by_id('kw').send_keys(' autofelix')
driver.find_element_by_id('su').click()
8. 실행 js
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com')
js_sql = '''
document.getElementById('kw').value = ' autofelix'
'''
driver.execute_script(js_sql)
9. Frame 작업
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com')
// iframe, ,
driver.switch_to.frame(' iframe')
10. 쿠키의 조작
방법
설명
delete_all_cookies()
현재 페이지의 모든 쿠키 삭제
get_cookie(name)
지정된 쿠키 값 가져오기
get_cookies()
현재 페이지의 모든 쿠키 값 가져오기
add_cookie()
쿠키 값 설정
11. 탭 관리
방법
설명하다
window_handles
모든 탭의 메타그룹 저장
switch_to.window()
탭 전환
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com')
driver.delete_all_cookies()
driver.add_cookie({'name': 'name', 'domain': '.baidu.com', 'value': 'autofelix'})
12. 마우스 이벤트
마우스 이벤트를 도입해야 합니다
ActionChains
방법설명
move_to_element(above)
우클릭
double_click()
마우스 더블 클릭
drag_and_drop()
왼쪽 버튼을 누른 채 드래그
perform()
동작 저장소
인스턴스 데모: 슬라이더 검증 코드
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
#
driver = webdriver.Chrome()
#
driver.maximize_window()
#
driver.get('https://sso.toutiao.com')
#
WebDriverWait(self.driver, 10).until(
EC.text_to_be_present_in_element((By.XPATH, '//*[@id="mobile-code-get"]/span'), u' ')
)
#
action = ActionChains(self.driver)
#
action.click_and_hold(self.driver.find_element_by_xpath('//*[@id="captcha_container"]')).perform()
# x
action.move_by_offset(xoffset=x, yoffset=0).perform()
#
action.release().perform()
기다리다
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('https://www.baidu.com')
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('https://www.baidu.com')
WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, 'kw'))
)
14, 전진, 후퇴와 갱신
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.get('https://www.taobao.com')
driver.get('https://www.jd.com')
driver.back()
driver.forward()
driver.refresh()
15. 브라우저 닫기
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
// ,
driver.quit()
이 글은 전체 네트워크의 가장 완전한python 라이브러리 selenium 자동화 사용 강좌에 대한 소개입니다. 더 많은 관련python 라이브러리 selenium 자동화 사용 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.