# iframe -- html 内部的 html
# 1. 识别:你要操作的元素,是否在 iframe 当中 F12中 查看元素绝对路径
# 2. 进入iframe 中
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ES
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome()
driver.implicitly_wait(30) # 等待元素存在,命令执行完成
# 切换iframe 三种方式。
driver.switch_to.frame("login_frame_qq") # 通过name 找到切换
driver.switch_to.frame(driver.find_element_by_name("login_frame_qq")) # 通过元素 name 找到切换
driver.switch_to.frame(3) # 通过下标 找到切换
# 退出 到主页面 default-content
driver.switch_to.default_content()
# 退回到上一级iframe当中
driver.switch_to.parent_frame()
# 高级版本 切入到 iframe ES.frame_to_be_available_and_switch_to_it()
# 实现等待和切换iframe
WebDriverWait(driver,30).until(ES.frame_to_be_available_and_switch_to_it("login_frame_qq"))
# alert 类
# 切换:driver.switch_to.alert # 提供三种方法
driver.get(r"D:\project\test\python_study\html_ele_study_0625.html")
driver.find_element_by_id("id1").click()
#
alert = WebDriverWait(driver,30).until(ES.alert_is_present())
# 关闭 alert 框
# driver.switch_to.alert.accept()
alert.accept()
# 触发弹出框
# 等待元素可见
# 操作