selenium多表单切换以及多窗口切换、警告窗处理
selenium表单切换
在做UI自动化,有时候要定位的元素属性在页面上明明是唯一的。却怎么也不执行对元素的操作动作,这时候多半是iframe表单在作怪。
- 切入表单:id
driver.switch_to_frame("id")#id属性值切入表单 - 切入表单:name
driver.switch_to_frame("name")#name属性值切入表单 - 切入表单默认取表单的id或name属性,如果没有id或name属性值,下通过xpath或css定位,然后再将定位对象传给switch_to_frame()
value = driver.find_element_by_xpath("//input[@text='kw']")driver.switch_to_frame(value) - 返回上级表单
driver.switch_to_parent_content() - 返回最外层表单
driver.switch_to_default_content()
selenium窗口切换
- 获得当前窗口句柄
driver.current_window_handle - 获得所有窗口句柄
driver.window_handles - 切换到相应的窗口,跟切换表单类似
driver.switch_to_window("value")
警告窗处理
- 解除警告窗:dismiss()
driver_switch_to_alert().dismiss() - 接受警告窗:accept
driver_switch_to_alert().accept() - 获取警告窗文本信息:text
driver.switch_to_alert().text - 发送文本信息到警告窗:send_keys()
driver.switch_to_alert().send_keys("value")
selenium多表单切换以及多窗口切换、警告窗处理的更多相关文章
- selenium webdriver——多表单切换与多窗口切换
多表单切换 >>在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe 表单内嵌页面上的元素无 ...
- selenium基础(多表单切换、多窗口切换)
一.多表单的切换 frame:HTML页面中的一中框架,主要作用是在当前页面中指定区域显示另一页面元素: (HTML语言中,frame/iframe标签为表单框架) 在web ...
- selenium 多表单切换处理(iframe/frame)
在web应用中,前台网页的设计一般会用到iframe/frame表单嵌套页面的应用.简单的就是一个页面签嵌套多个HEML/JSP文件.selenium webdriver 只能在同一页面识别定位元素 ...
- web自动化测试-selenium多表单切换
一.概述 1.在web应用中会经常遇到frame/iframe表单嵌套页面的应用 2.WebDriver只能在一个页面上对元素进行识别与定位 3.对于frame/iframe表单内嵌的页面上元素无法识 ...
- Selenium 多表单(frame/iframe)切换
frame标签有frameset.frame.iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe需要切换进去才能定位到其中的元素 比如下面这个网 ...
- selenium 多表单切换
frame/iframe表单嵌套页面的应用.WebDrivr只能在一个页面上对元素识别与定位,对于在frame/iframe表单内嵌页面上的元素无法直接定位.这时需要使用 switch_to.fram ...
- Selenium 2自动化测试实战16(多窗口切换)
一.多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作.WebDriver提供了switch_to.window()方法.可以实现在不同的窗口之间 ...
- selenium多表单操作与多窗口,以及警告框处理
知识是需要经常温习的,不然是很容易遗忘的. 以前自己操作IFRAME,多窗口的时候,觉得很简单.半年没有操作自动化了,知识又还了回去. 写博客有一个好处,可以把自己记住的知识点记录下来,这样,以后自己 ...
- 微信小程序 - 表单验证插件WxValidate(自定义警告信息形式)
弹出的形式对于用户来说,总是不太友好的 可能会出现层级问题(只需要设置一下提示的层级即可) WxValidate内置规则 以下代码拷贝即可使用~ wxml <form bindsubmit='s ...
随机推荐
- BLE链路层状态机初探
状态机 BLE链路层把所有的功能放到五种不同的状态中,在不同的状态分别执行不同的功能. 一般来说,BLE设备大致有这么几种状态:空闲,广播,扫描,发起连接和连接成功. 广播和扫描是相对应的,一个设备广 ...
- Spring Boot+MySQL+Spring Data JPA一个Web的Demo
2020.06.23 更新 1 概述 一个简单的web项目配合MySQL+Hibernate+Tomcat的简单示例demo,很容易在此基础上扩展成自己的项目. 2 创建工程 笔者IDE为Intell ...
- Day13_67_interrupt() 方法
interrupt() 方法 中断线程 * interrupt()方法的简单理解 - interrupt() 方法只是改变线程的阻塞状态而已,让一个正在阻塞状态的线程,恢复执行.但是它不会中断一个正在 ...
- 判断请求是否属于Ajax请求
我们有时候需要根据请求类型来判断返回视图名称还是JSON数据,这里记录一个判断Ajax的工具类方便日后好找 通过传入Request对象获取头信息,根据头信息判断是否属于Ajax请求 public cl ...
- [ssh登录]ssh登录报警
1.报警脚本 mkdir /scripts vim /scripts/telegram_ssh.sh #!/bin/bash text="用户: $PAM_USER 用户IP: $PAM_R ...
- UC-Android逆向工程师 面试题1的分析
1.简介 这个题目是一位吾爱破解的坛友在面试UC的Android逆向工程事时,遇到的题目.此题不难,与阿里移动去年移动安全比赛的题目差不多,题目的验证方式也是查表对比,并且这个表的数据是放在文件中的. ...
- hdu4784 不错的搜索( 买卖盐,要求整钱最多)
题意: 给你一个有向图,每个节点上都有一个盐价,然后给你k个空间,么个空间上节点与节点的距离不变,但盐价不同,对于每一个节点,有三种操作,卖一袋盐,买一袋盐 ,不交易,每一个节点可以跳掉( ...
- NumPy中文文档搬砖(划掉)学习笔记(1)
原文地址 前言 况下加速Python中的操作运行时.适用于快速数值运算的一个选项是NumPy,它当之无愧地将自己称为使用Python进行科学计算的基本软件包. 当然,很少有人将50微秒(百万分之五十秒 ...
- 一个或多个筛选器或者Listeners启动失败 的问题探索以及解决方案
2020年10月9日更新 经过本人对SSM框架理解的加深和对IDEA工具使用的熟悉,现提出一种新的解决办法,以前的解决办法可能存在问题 1. 问题描述: 使用IDEA作为开发工具,使用Maven作为项 ...
- UIautomator2框架快速入门App自动化测试
01.APP测试框架比较 常见的APP测试框架 APP测试框架 02.UIAutomator2简介 简介 UIAutomator2是一个可以使用Python对Android设备进行UI自动化的库. ...