(셀레늄 + 파이썬) 자동 배치 프레임 부재은 iframe _UI 04 _

iframe이 무엇입니까?

iframe을는 HTML (즉, 현재의 HTML 문서 내의 다른 HTML 문서에 포함되는) 문서에서 문서로 태그 또는 부동 프레임 (FRAME)이다. IFRAME 요소는 (로우의 틀 내하다) 또 다른 문서를 포함하는 인라인 프레임을 생성한다.

상기 프레임 내에 배치 Iframe에 소자

iframe이 요소 내 셀레늄의 위치는, 먼저, 그렇지 않으면 요소를 찾을 수 없습니다 오류가 발생하지, 프레임 워크 내에서 iframe 및 다음 위치의 요소로 전환해야합니다.

A, 일반적인 스위칭은 iframe

driver.switch_to_frame (iframe_element)   #의 iframe이의로 전환 
driver.switch_to.default_content ()   #의 메인 페이지에 컷 다시 
driver.switch_to_parent_frame ()   #의 이전 iframe이 다시 컷

두, iframe이 일반적인 시나리오

(1) 하나의 프레임은 iframe

    Iframe에 전환 ->는 IFRAME 요소 내에 위치 -> 절단 홈 -> 요소 타겟팅

2 프레임은 iframe 복수 존재

    iframe1로 전환 -> 위치 요소 iframe1 -> 잘라 홈 - iframe2에> 스위치 -> 위치 요소 iframe2 -> 컷 가정 -> 요소를 대상으로

3 iframe을 다른 프레임 워크 iframe에 포함

    iframe1로 전환 - iframe2>를 스위치 -> 포지셔닝 부재 iframe2 -> 절단 홈 -> 요소 타겟팅

셋째, 예

 iframe을 내 NetEase는 사서함 로그인, 계정과 암호 입력 요소, 그래서 아날로그 NetEase는 사서함 로그인은 다음 것을 :

1  # 아날로그 YORK 메일 로그 
2  에서 셀레늄 오기 webdriver
 . 3  에서 시간 가져 SLEEP
 . 4   
. 5 드라이버 = webdriver.Chrome ()
 . 6 driver.get ( " https://email.163.com/ " )   #는 메일 입력 홈 YORK 
. 7 SLEEP . (3 )
 . (8)   
. 9 iframe_ele = driver.find_element_by_tag_name ( " iframe이 " )   # 오기 ifarme 소자 
10 driver.switch_to.frame (iframe_ele)   # 1 은 iframe 프레임 절환 
11driver.find_element_by_name ( " 이메일 " ) .send_keys ( " 자동 측정 " )   # 사서함 입력 
12 driver.find_element_by_name ( " 비밀번호 " ) .send_keys ( " 123456 " )   #의 비밀 
13 driver.find_element_by_id ( " doLogin " ) .click ()   # 클릭 로그인

추천

출처www.cnblogs.com/mini-monkey/p/12074947.html