1+ # Licensed to the Software Freedom Conservancy (SFC) under one 
2+ # or more contributor license agreements.  See the NOTICE file 
3+ # distributed with this work for additional information 
4+ # regarding copyright ownership.  The SFC licenses this file 
5+ # to you under the Apache License, Version 2.0 (the 
6+ # "License"); you may not use this file except in compliance 
7+ # with the License.  You may obtain a copy of the License at 
8+ # 
9+ #   http://www.apache.org/licenses/LICENSE-2.0 
10+ # Unless required by applicable law or agreed to in writing, 
11+ # software distributed under the License is distributed on an 
12+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
13+ # KIND, either express or implied.  See the License for the 
14+ # specific language governing permissions and limitations 
15+ # under the License. 
16+ 
117from  selenium  import  webdriver 
18+ from  selenium .webdriver .common .by  import  By 
19+ 
20+ #set chrome and launch web page 
21+ driver  =  webdriver .Chrome ()
22+ driver .get ("https://www.selenium.dev/selenium/web/iframes.html" )
23+ 
24+ # --- Switch to iframe using WebElement --- 
25+ iframe  =  driver .find_element (By .ID , "iframe1" )
26+ driver .switch_to .frame (iframe )
27+ assert  "We Leave From Here"  in  driver .page_source 
28+ 
29+ email_element  =  driver .find_element (By .ID , "email" )
30+ email_element .
send_keys (
"[email protected] " )
31+ email_element .clear ()
32+ driver .switch_to .default_content ()
33+ 
34+ # --- Switch to iframe using name or ID --- 
35+ iframe1 = driver .find_element (By .NAME , "iframe1-name" )  # (This line doesn't switch, just locates) 
36+ driver .switch_to .frame (iframe )
37+ assert  "We Leave From Here"  in  driver .page_source 
38+ 
39+ email  =  driver .find_element (By .ID , "email" )
40+ email .
send_keys (
"[email protected] " )
41+ email .clear ()
42+ driver .switch_to .default_content ()
43+ 
44+ # --- Switch to iframe using index --- 
45+ driver .switch_to .frame (0 )
46+ assert  "We Leave From Here"  in  driver .page_source 
47+ 
48+ # --- Final page content check --- 
49+ driver .switch_to .default_content ()
50+ assert  "This page has iframes"  in  driver .page_source 
251
52+ #quit the driver 
53+ driver .quit ()
0 commit comments