微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

selenium--切换iframe

页面中包含iframe时,不能直接操作iframe中的元素,需要先切换进iframe才行

iframe: html当中内嵌了另外一个html。
iframe标签对当中,就是另外一个html。

1)要判断你要操作的元素,是否在iframe当中。
F12当中定位元素后,去看它的绝对路径当中是否有2个或2个以上的html。

2)如果要操作iframe当中的元素,则必须切换到iframe当中。
driver.switch_to.frame(iframe的元素识别策略3种)
3种方式:
index, name, or webelement
index: 下标。整个页面当中所有的iframe当中,当前要切换的iframe的下标。从0开始。
name: name属性
webelement对象: driver.find_elment(By.XXX,"")

  1. 如果要从iframe当中退出来。
    driver.switch_to.default_content()
from selenium import webdriver
from selenium.webdriver.common.by import By
 
 
driver = webdriver.Chrome()
driver.get("https://www.w3school.com.cn/tiy/t.asp?f=eg_html_form_radio")
# # 下标
# driver.switch_to.frame(1)
# name属性
driver.switch_to.frame("iframeResult")
# webelement对象
# driver.switch_to.frame(driver.find_element(By.ID,"iframeResult"))
 
# ===========  进入了iframe当中的html  ==============
driver.find_element(By.XPATH, '//input[@value="female"]').click()
 
# # 切换回上一层
# driver.switch_to.parent_frame()
 
# # 从iframe当中,切换回最顶层的html
# driver.switch_to.default_content()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐