有些Web应用程序有多个框架或多个窗口。WebDriver支持使用“switchto”方法在命名窗口之间移动
1,switch_to.frame()
进入到指定的frame或ifrmae,操作完后,通常要用switch_to.parent_frame()退到父frmae
2,switch_to.alert
处理alert弹出框
3,window_handles
获取窗口句柄,如果有多个窗口,返回值是一个列表
4,switch_to.window()
进入到指定的窗口
例子:
-- coding: utf-8 --from selenium import webdriver
import time
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome()
time.sleep(2)
打开网址driver.get(‘http://www.sterson.com.cn/test’)
h1 = driver.current_window_handle
time.sleep(2)
driver.find_element_by_link_text(‘李老道自学网’).click()
time.sleep(2)
多窗口处理 通过返回的窗口下标定位到之前的页面h2 = driver.window_handles[0]
driver.switch_to.window(h2)
h3 = driver.window_handles[1]
driver.switch_to.window(h3)
通过循环并判断是否是之前的窗口句柄for h2 in driver.window_handles:
if h2 == h1:
driver.switch_to.window(h2)
time.sleep(2)
iframe 处理driver.switch_to.frame(driver.find_elements_by_tag_name(“iframe”)[0])
task_name = driver.find_element_by_id(“task_name”)
task_name.send_keys(u’测试的任务’)
time.sleep(2)
退出iframedriver.switch_to.default_content()
task_name = driver.find_element_by_id(“task_name”)
task_name.send_keys(u’测试的任务2’)
处理弹出框driver.find_element_by_name(“submit”).click()
time.sleep(1)
alert = driver.switch_to.alert
alert.dismiss()
time.sleep(2)
最后:软件测试资料分享一波!技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。
金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!下面有我近几年的收集和整理,整体是围绕着【软件测试】来进行整理的,主体内容包含:python自动化测试专属视频、Python自动化详细资料、全套面试题等知识内容。
愿你我相遇,皆有所获! 如果对软件测试、接口测试、自动化测试、面试经验交流。关注微信公众号:【伤心的辣条】 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!交流学习裙:313782132
推荐好文:包装成1年工作经验的测试工程师,我给他的面试前的建议如下
自动化测试到底要学什么?
为何跳槽不考虑腾讯?聊聊我和鹅厂的一点往事
自动化测试和手动测试哪个更高级?
新手必看:怎么写一个合格的测试用例?
python登录接口测试问题记录与解决 ( 干 货 )