web自动化如何实现多窗口切换?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web自动化如何实现多窗口切换?相关的知识,希望对你有一定的参考价值。

原理:
1. 浏览网站时打开的所有页面均会被记录,selenium中由window_handles记录。
2. 默认情况下操作焦点在首页。
3. 对多个页面间切换只需要选择目标页面的handle(句柄)即可。
操作:
1. 获取已打开的所有窗口的句柄 handles_list = driver.window_handles
2. 通过窗口的句柄进入的窗口 driver.switch_to.window(handles_list[n])
以前在传智播客培训时候学过。谢谢你,如果你有这方面的问题的话,您可以随时询问我
参考技术A 微博自动化想要实现多窗口的切换,可以通过设置中来设施切换按键。

web自动化 下拉框切换到新窗口

一.下拉框

相信大家在手动测试web页面时,遇到过下拉框吧,那进行web自动化测试时,如何操作下拉框,且看下文

 

 

 1.selenium中提供了方法,先导入Select方法

from selenium.webdriver.support.select import Select

  

2.实例化类

 

 

 

Select(driver.find_element_by_name(\'选项名\'))

  

3.选择值,可以根据下标、option value、文本内容来选择值

select.select_by_index(1)#根据下标来选择
select.select_by_value("doc")#根据option的value属性来选择
select.select_by_visible_text("所有格式")

  

二、切换到新的窗口

我们在测试web网页时,遇到过,在页面上点击某个链接后,就会打开一个新的窗口,那进行web自动化测试时,该如何模拟呢

1.获取窗口个数

2.切换新窗口

driver.current_window_handle#得到当前窗口
wins = driver.window_handles#得到的是列表
driver.switch_to.window(wins[-1])

 

三、alert切换,不关闭弹窗时,就无法操作页面的弹窗就需要用到此方法

alert = driver.switch_to.alert
alert.accept()

  

 

ps:窗口切换、iframe切换、alert切换时,手动time.sleep

  

以上是关于web自动化如何实现多窗口切换?的主要内容,如果未能解决你的问题,请参考以下文章

web自动化6-selenium多窗口切换及JS对话框处理

web自动化,如何实现frame表单切换?

web自动化测试—selenium游览器多窗口操作

web自动化 下拉框切换到新窗口

python - web自动化测试 - 元素操作 - 窗口切换

Selenium - Web自动化测试的基本操作实现