【UI自动化测试技术】自动化测试研究:Python+Selenium+Pytest+Allure,详解UI自动化测试,iframe、窗口等控件切换(精)(六)

学习目标

  1. 了解对浏览器的基本功能操作
  2. 学习如何对弹窗进行操作
  3. 学习如何应对出现iframe框架时的解决方案本节重点
  4. 学习对浏览器窗口的基本操作本节重点

与iFrames和frames⼀起工作

点击这里,进入练习链接

# 获取ifame元素
iframe = driver.find_element(By.XPATH, "//iframe[@id='ifr']")

# 切换到选择的iframe
driver.switch_to.frame(iframe)

# 单击按钮
driver.find_element(By.LINK_TEXT, 'Click me').click()
# 获取ifame元素,通过id或者name的值,来切换框架,直接填值即可
driver.switch_to.frame('ifr')

# 单击按钮
driver.find_element(By.LINK_TEXT, 'Click me').click()
# 基于索引切换到第一个iframe,从0开始计算

driver.switch_to.frame(0)

# 单击按钮
driver.find_element(By.LINK_TEXT, 'Click me').click()

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

同窗口和标签⼀起工作

# 存储原始窗口的句柄ID
original_window = driver.current_window_handle
print("原始窗口句柄ID:" + original_window)
# 获取所有的窗口句柄
all_handles = driver.window_handles
print("所有窗口句柄:" + str(all_handles))
driver.switch_to.window(all_handles[-1])
print("当前窗口句柄ID:" + driver.current_window_handle)
# 切回之前的页签或窗口
driver.switch_to.window(original_window)
print("当前窗口句柄ID:" + driver.current_window_handle)
# 打开新标签页并切换到新标签页
driver.switch_to.new_window('tab')
time.sleep(3)
# 打开一个新窗口并切换到新窗口
driver.switch_to.new_window('window')
time.sleep(3)

你可能感兴趣的:(UI自动化测试技术研究,ui,python,selenium)