Selenium----switch API

Posted 冒泡泡de可乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium----switch API相关的知识,希望对你有一定的参考价值。

Switch

我们在UI自动化测试时,总会出现新建一个tab页面、弹出一个浏览器级别的弹框或者是出现一个iframe标签,这时我们用WebDriver提供的Api接口就无法处理这些情况了。需要用到Selenium单独提供的模块switch_to模块

SwitchToWindows

handles = driver.window_handles
 
# SwitchToWindows接受浏览器TAB的句柄
driver.switch_to.window(handles[1])

SwitchToFrame

# SwitchToFrame支持id、name、frame的element
 
# 接受定位到的iframe的Element,这样就可以通过任意一种定位方式进行定位了
frameElement = driver.find_element_by_name(top-frame)
driver.switch_to.frame(frameElement)
 
# 通过fame的name、id属性定位
driver.switch_to.frame(top-frame)
 
# 当存在多层iframe嵌套时,需要一层一层的切换查找,否则将无法找到
driver.switch_to.frame(top-frame)
driver.switch_to.frame(baidu-frame)
 
# 跳转到最外层的页面
driver.switch_to.default_content()
 
# 多层Iframe时,跳转到上一层的iframe中
driver.switch_to.parent_frame()

SwitchToAlert

# alert 实际上也是Selenium的一个模块
from selenium.webdriver.common.alert import Alert
 
# 也可以通过Webdriver的switch_to来调用
 
# 点击确认按钮
driver.switch_to.alert.accept()
 
# 点击取消按钮
driver.switch_to.alert.dismiss()

# 返回Alert上面的文本内容
text = driver.switch_to.alert.text

 

以上是关于Selenium----switch API的主要内容,如果未能解决你的问题,请参考以下文章

selenium - switch_to_alert() - 警告框处理

Android Api 27 在 Android 8.0 上出现 Only fullscreen opaque activities can request orientation 的解决情况(代码片

Android Studio编译OsmAnd出现警告:GeoPointParserUtil.java使用或覆盖了已过时的 API。有关详细信息请使用-Xlint:deprecation重新编译(代码片

Spring MVC @Controller中转发或者重定向到其他页面的信息怎么携带和传递(Servlet API对象)HttpServletRequestHttpServletRespose(代码片

GlobalGetAtomName GlobalDeleteAtom 引用 WinAPI: AddAtomDeleteAtomFindAtomGetAtomNameGlobalAddAtom(代码片

错误记录Oboe / AAudio 播放器报错 ( onEventFromServer - AAUDIO_SERVICE_EVENT_DISCONNECTED - FIFO cleared )(代码片