📜  selenium python 切换到 iframe - Python (1)

📅  最后修改于: 2023-12-03 15:20:04.004000             🧑  作者: Mango

Selenium Python: 切换到 iFrame

在使用 Selenium Python 进行 Web UI 自动化测试时,有时需要切换到页面中的 iFrame 中进行元素定位和操作。本篇文章将会介绍如何使用 Selenium Python 切换到 iFrame 中。

1. 定位 iFrame

在切换到 iFrame 之前,首先需要定位 iFrame。可以通过下面两种方式来定位:

  1. 通过索引号定位 iFrame:
# 根据索引号定位 iFrame
driver.switch_to.frame(0)
  1. 通过 iFrame 元素定位 iFrame:
# 定位 iFrame 元素
iframe_element = driver.find_element_by_css_selector('iframe')
# 切换到 iFrame
driver.switch_to.frame(iframe_element)
2. 切换回默认内容

当需要从 iFrame 中切换回到默认内容时,可以使用以下代码:

# 切换到默认内容
driver.switch_to.default_content()
3. 完整示例代码

下面是一个完整的示例代码,演示了如何切换到 iFrame 中进行元素定位和操作:

from selenium import webdriver

# 创建浏览器对象
driver = webdriver.Chrome()

# 打开网页
driver.get('https://www.baidu.com/')

# 定位搜索输入框
search_input = driver.find_element_by_css_selector('#kw')

# 输入搜索关键字
search_input.send_keys('Selenium')

# 定位"百度一下"按钮所在的 iFrame
iframe_element = driver.find_element_by_css_selector('.c-tips-container > iframe')
# 切换到 iFrame
driver.switch_to.frame(iframe_element)

# 点击"我知道了"按钮
driver.find_element_by_css_selector('.c-close-btn').click()

# 切换回默认内容
driver.switch_to.default_content()

# 点击"百度一下"按钮
driver.find_element_by_css_selector('#su').click()

# 关闭浏览器
driver.quit()

以上就是关于 Selenium Python 切换到 iFrame 的介绍,希望对大家有所帮助。