Python seleniu3 iframe操作

1.什么是iframe:HTML中嵌套的HTML
2.如何判断操作的元素在iframe中
    2.1.当使用正确的元素定位方式无法定位到元素时
    2.2.iframe使用场景:
        登录输入框
        富文本(可以编辑文字的输入框)
        后台管理表单
    3.找iframe标签
    4.进入iframe标签
    driver.switch_to.frame(参数)
    参数:
        1.当iframe标签有固定的id/name属性值的时候,参数=id/name
        2.当iframe标签没有id/name属性或id/name属性不固定,参数=定位到的iframe元素
        3.当明确知道iframe索引值时,参数=索引值,索引从0开始
    5.操作iframe
        点击,输入
    6.退出iframe
        driver.switch_to.parent_frame()  # 返回到上一层
        driver.switch_to.default_content()  #跳出到最外层

案例:

# 1.导入selenium
from selenium import webdriver
from time import sleep
import os

# 2.打开谷歌浏览器
driver = webdriver.Chrome()
# 3.打开百度
url = "file:///" + os.path.abspath("../../练习页面/注册实例.html")
driver.get(url)
# 4.浏览器最大化
# driver.maximize_window()
# 5.元素操作
sleep(2)
# 5.1 在账号输入框输入 root
driver.find_element_by_css_selector("#user").send_keys("root")
sleep(2)
# 5.2 进入iframe1
driver.switch_to.frame("idframe1")
# 5.3 密码A输入123456
driver.find_element_by_css_selector("#passwordA").send_keys("123456")
sleep(2)
# 5.4 退出iframe1
driver.switch_to.parent_frame()  # 上一级
# driver.switch_to.default_content()  # 最外层
# 5.5 在电话号码中输入789456
driver.find_element_by_css_selector("#tel").send_keys("789456")
sleep(2)
# 5.6 进入iframe2
driver.switch_to.frame("myframe2")
# 5.7 在邮件输入框中输入[email protected]
driver.find_element_by_css_selector("#emailB").send_keys("[email protected]")
sleep(2)
# 5.8 退出iframe2
driver.switch_to.parent_frame()
sleep(2)
# 5.9 点击注册用户
driver.find_element_by_css_selector("button[title*='加入会员']").click()
# 6.关闭浏览器
driver.quit()

猜你喜欢

转载自blog.csdn.net/qq_39286483/article/details/104237783