브라우저 제어 부분 노트

3085 단어
1. 브라우저 제어 - 크기 설정 driver.set_window_size () - 전진 후퇴 driver.back() driver.forward () - 창 driver를 새로 고칩니다.refresh()
2. 단순 요소 조작(element) - 요소.clear () 텍스트 지우기 - 요소.send_keys("xxx") 아날로그 키 입력 - element.클릭() - - element.submit () 커밋(Enter) - element.size 반환 크기 - element.text에서 요소 텍스트 - element.get_attribute(name)는 요소 속성 값인 element를 가져옵니다.is_displayed() 반환 요소가 표시되는지 여부
3. 마우스 이벤트 - from selenium.webdriver.common.action_chains import ActionChains 도입 - perform () 은 ActionChains의 저장 동작인 ActionChains (driver) 를 실행합니다.context_click(element).perform () 우클릭 -- ActionChains (driver).double_click(element).perform () 두 번 클릭 -- ActionChains (driver).drag_and_ drop(sourc, target).perform () 소스 요소를 대상 요소 - ActionChains (driver) 로 드래그합니다.move_to_element(element).perform () 마우스 커서 놓기
4, 키보드 이벤트 - from selenium.webdriver.common.keys import Keys 도입 - element.send_keys(Keys.SPACE) 공백 - element.send_keys(Keys.CONTROL,'c') 조합 ctrl+c 복사
5、정보를 얻다--driver.title 현재 페이지 제목 - driver.current_url 현재 페이지 URL
6, 원소 대기 - 대기 대기 from selenium을 표시합니다.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.by import expected_conditions as EC element = WebDriverWait(driver, 5, 0.5).until( EC.presence_of_element_located((By.ID, "kw")) ) element.send_keys("xxx")
     0.5s,        5s ,        NoSuchElementException   , presence_of_element_located         

--     
driver.implicitly_wait(10)

       ,       ,              。          。

7、요소 그룹(elements)find 찾기elements_by_id()
find_elements_by_name()
find_elements_by_class_name()
find_elements_by_tag_name()
find_elements_by_link_text()
find_elements_by_partial_link_text()
find_elements_by_xpath()
find_elements_by_css_selector()

inputs = find_elements_by_tag_name("input") 
for i in inputs:
    if i.get_attribute("type") == "checkbox" :
        ......

 :
boxs = find_elements_by_xpath("//input[@type = 'checkbox']") 
for box in boxs:
    box.click()

//    
box.pop().click()  //pop()   pop(-1)       , pop(n)     n+1  ,      0

8, 다중 폼 전환driver.switch_to.frame (id or name or element) 는 기본적으로 폼의 id나name 속성을 전달합니다.
9, 다중 창 전환driver.current_window_handle 현재 창 드라이브.window_handles 현재 열린 모든 창
driver.switch_to.window(handle)     handle   

10, 경고 상자 처리 alert = driver.switch_to_alert()는 JavaScript에서 생성한 alert, confirm, prompt -- alert를 찾습니다.text 경고 상자의 텍스트 정보 -- alert.accept () 는 기존 경고 상자 - alert.dismiss () 기존 경고 상자 해체 - alert.send_keys(msg) 경고 상자에 텍스트 보내기
11. 쿠키 드라이브를 조작한다.get_cookies()는 모든 cookie 정보를 driver.get_쿠키 (name) 는 사전 키가 name인 쿠키 정보driver로 되돌아옵니다.add_cookie(dic)에 cookie를 추가합니다. {'name':'aa','value':'bb'}driver.delete_cookie(name, optionstr) 삭제 cookie, optionstr: 경로/역driver.delete_all_쿠키() 모든 쿠키 정보 삭제
12.javaScript js 호출 = "window.scrollTo(100, 200)"driver.execute_script(js)
13. 창 드라이브를 닫습니다.close () 현재 창 드라이브를 닫습니다.quit() 모든 창 닫기

좋은 웹페이지 즐겨찾기