前言
web应用中会遇到frame或者iframe表单嵌套页面的情况,对于表单内嵌页面上的元素无法直接进行定位,需要将当前定位的主体切换为frame或iframe表单的内嵌页面中才可定位元素。
一、切换表单方法
切换为frame或iframe表单的内嵌页:driver.switch_to.frame(“id/name”)
恢复默认页面方法:driver.switch_to.default_content()
切换到父级frame:driver.switch_to.parent_frame()
二、切换表单应用
代码如下(示例):
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("https://mail.126.com/")
driver.maximize_window()
#切换嵌套表单页面
driver.switch_to.frame("")#因id是动态的,通过name进行定位
driver.find_element_by_name("email").send_keys("panpan")
time.sleep(1)
driver.find_element_by_name("password").send_keys(12345678)
time.sleep(1)
#恢复到默认页面
driver.switch_to.default_content()
driver.quit()