selenium 切换iframe

Posted yago

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium 切换iframe相关的知识,希望对你有一定的参考价值。

 


# 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()

# 触发弹出框
# 等待元素可见
# 操作

以上是关于selenium 切换iframe的主要内容,如果未能解决你的问题,请参考以下文章

Selenium框架切换-----Selenium快速入门

06-Selenium的窗口切换

selenium webdriver窗口切换

Selenium中怎么实现多个窗口之间的切换?

Selenium窗口切换-----Selenium快速入门

Selenium用法详解窗口表单切换JAVA爬虫