selenium对话框窗口API


有些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)

退出iframe

driver.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登录接口测试问题记录与解决 ( 干 货 )

猜你喜欢

转载自blog.csdn.net/weixin_50829653/article/details/113937709