在web应用中,前台网页的设计一般会用到iframe/frame表单嵌套页面的应用.简单的就是一个页面签嵌套多个HEML/JSP文件.selenium webdriver  只能在同一页面识别定位元素,可以狭隘的理解成只能识别当前所在位置的页面上的元素.对于不同的iframe/frame表单中的元素是无法直接定位的.需要结合switchTo().frame()方法切换到指定的frame/iframe中.switchTo().frame()默认的是取表单的ID和name属性.如果没有id和name…
selenium表单切换 在做UI自动化,有时候要定位的元素属性在页面上明明是唯一的.却怎么也不执行对元素的操作动作,这时候多半是iframe表单在作怪. 切入表单:iddriver.switch_to_frame("id") #id属性值切入表单 切入表单:namedriver.switch_to_frame("name") #name属性值切入表单 切入表单默认取表单的id或name属性,如果没有id或name属性值,下通过xpath或css定位,然后再将定位对…
一.概述 1.在web应用中会经常遇到frame/iframe表单嵌套页面的应用 2.WebDriver只能在一个页面上对元素进行识别与定位 3.对于frame/iframe表单内嵌的页面上元素无法识别与定位 4.此时就需要切换到frame/iframe表单中 5.通过switch_to.frame()方法进行切换 6.方法说明 switch_to.parent_content() 跳出当前表单,回到上一级表单 switch_to.default_content() 跳到最外层的页面 可以通过f…
frame/iframe表单嵌套页面的应用.WebDrivr只能在一个页面上对元素识别与定位,对于在frame/iframe表单内嵌页面上的元素无法直接定位.这时需要使用 switch_to.frame()方法将当前定位的主题切换为frame/iframe表单内嵌页面中. <html> <body> ... <iframe id="x-URS-iframe" ...> <html> <body> ... <input n…
多表单切换 >>在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe 表单内嵌页面上的元素无法直接定位.这时就需要通过suitch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面 中. #Author:xiaoxiao from selenium import webdriver def setUp(self): # 打开浏览器 self.driver = we…
一.多表单切换 在web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这时就需要通过switch_to_frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中. #frame.html <html> <head> <link href="http://cdn.bootcss.com/bootstrap/3.3.0/…
定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_elements_by_id() find_elements_by_name() find_elements_by_class_name() find_elements_by_tag_name() find_elements_by_link_text() find_elements_by_partia…
定位一组元素:find_elements,返回的是list,所以可以用列表的索引对列表里的某个元素操作,也可以用for循环访问list,依次操作各元素 driver.find_elements_by_name("OpenType")[1].click()#公开类型 #推送范围 for push in driver.find_elements_by_name("GroupName"): push.click() time.sleep(1) 定位一组元素时,形成的是li…
frame标签有frameset.frame.iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe需要切换进去才能定位到其中的元素 比如下面这个网页,有多个frame,以及嵌套iframe,我们在操作里面元素时,需要切换进去. 登陆后,我们要切换进leftFrame进行操作 代码: # coding = utf-8 from selenium import webdriver # 驱动文件路径 driverfile_path = r'D:\c…
应用场景: 在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中.   frame.html <html> <head> <link href="http://cdn.bootcss.com/bootstrap/3.3.0/c…
在 Web 应用中经常会遇到 frame/iframe 表单嵌套页面的应用, WebDriver 只能在一个页面上对元素识别与 定位, 对于 frame/iframe 表单内嵌页面上的元素无法直接定位. 这时就需要通过 switchTo().frame()方法将当前定 位的主体切换为 frame/iframe 表单的内嵌页面中. <html> <body> ... <iframe id="x-URS-iframe" ...> <html>…
一.多表单的切换 frame:HTML页面中的一中框架,主要作用是在当前页面中指定区域显示另一页面元素:              (HTML语言中,frame/iframe标签为表单框架) 在web应用中会遇到frame或者iframe表单嵌套页面的应用,对于表单内嵌页面上的元素无法直接进行定位 通过driver.switch_to.frame("id|name")方法将当前定位的主体切换为frame或iframe表单的内嵌页面中 恢复默认页面方法:driver.switch_to.…
[Java] 首先 测试网站frame结构为 -topframe: -centerframe: -leftframe: -mainframe: -bottomframe: 我当时遇到的问题是,首先在centerframe-leftframe下操作(进入表单正常),然后想要切换表单到mainframe,这时就报错了.各条语句看起来都是那么的正常,报错的很心塞啊╮(╯﹏╰)╭ driver.switchTo().defaultContent(); driver.switchTo().frame("c…
采用下面的例子来编写用例 <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>frame switch</title> <link href="http://cdn.bootcss.com/bootstrap/3.3.0/…
在Web应用中经常会遇到fram/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于fram/iframe表单内嵌套页面上的元素无法直接定位.这是需要通过switch_to_fram()方法定位当前定位的主体切换为fram/iframe表单内嵌页面中.…
当元素在ifarm或farm中时,需要先进入到表单中,然后才能定位元素进行操作.直接对元素定位.会提示元素无法找到. <!DOCTYPE html> <html> <head> </head> <body> <iframe id = 'if' src="https://www.baidu.com" width="800" height='300'> </iframe> </bo…
switch_to.frame()                               切换frame switch_to.default_content()                切换到主页面 #从frame中切回主文档 switch_to.parent_frame()                    这是switch_to中独有的方法,可以切换到上一层的frame,对于层层嵌套的frame很有用 # selenium给我们提供了一个方法能够从子frame切回到父fram…
在测试过程中,经常会碰到frame和iframe,嵌套等情况 这种情况下直接通过id,name等等是无法定位到的 好在selenium替我们想到了这个问题switch_to方法解决问题 switch_to先定位iframe,根据iframe的id或name进行定位:那么,iframe没有id或name怎么办: #可以用xpath先定位iframe呀 iframe = driver.find_element_by_xpath('//*[@class="kw"]') #再将iframe定位…
讲三个方法 driver.switch_to.frame("第一个iframe标签属性值") driver.switch_to.frame(" 第二个iframe标签属性值") driver.switch_to.parnet_frame() 切换回第一个iframe页面 driver.switch_to.default_content() 切换回主文档 from selenium import webdriver from time import sleep dri…
1.多表单切换 在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中 126邮箱登录框的结构大概是这样子的,想要操作登录框必须要先切换到iframe表单. switch_to.frame() 默认可以直接取表单的id 或name属性.如果iframe没有可…
多表单切换 案例:在Frame.html文件种定位搜狗搜索页面,进行搜索操作 Frame.html <html> <head> <title>Frame_test</title> </head> <body> <div> <iframe id="search" src="http://www.sogou.com" width="800" height=&qu…
1.多表单切换 下图为待测页面:内嵌百度首页 切换到百度首页进行操作 1 # coding = utf-8 2 3 from selenium import webdriver 4 import os 5 import time 6 7 dr = webdriver.Firefox() 8 file_path = 'file:///' + os.path.abspath('frame.html') 9 dr.get(file_path) 10 11 # 切换到iframe(id="if"…
目录 1.什么是iframe表单 2.iframe表单操作流程 3.iframe表单操作常用方法 (1)进入表单 (2)多表单切换 4.表单操作示例 1.什么是iframe表单 实际上就是HTML页面中使用iframe/frame标签,是在当前页面中引用了其他页面的链接,真正的页面数据并没有出现在当前页面源码中,但是在浏览器中我们是可以看到内容的.简单理解可以使页面中开了一个窗口显示另一个页面. 我们在Web应用中,经常会遇到这样的iframe表单嵌套页面,Frame标签有frameset.fr…
一.表单提交到了哪里? 这似乎是个无知的问题,我们都知道表单提交到服务器,java,php,asp等服务器,然后由服务器去读.那么之后呢,服务器总要返回点什么吧,要么返回 一个xml或json数据,要么返回一个页面,要么返回一个页面片段,但是返回到哪里了,这些结果在哪里展示?其实这就是常常被忽略的一个问题,尤其是 ajax用多了,觉得无刷新是理所当然的.在默认情况下,在什么页面提交的,就会将返回的数据(json或页面或页面片段)给这个页面.这里的页面指一个 框架,带有<html></ht…
iframe提交表单其实比ajax要方便一些,当然ajax也有ajax的好处,只是ajax编码处理有时有些麻烦,虽然经过转码是可以解决中文问题,但如果直接使用iframe不存这些问题了,下面来看看. 最近在做一个项目,用到上传图片功能,发现ajax不能enctype=”multipart/form-data” 属性的表单,没办法,只能使用form表单直接提交的方法了,但是form表单直接提交会跳转页面,这样很不友好,也不是项目需求,于是上网搜索了一番,发现可以使用隐藏的iframe来实现. 具体…
知识是需要经常温习的,不然是很容易遗忘的. 以前自己操作IFRAME,多窗口的时候,觉得很简单.半年没有操作自动化了,知识又还了回去. 写博客有一个好处,可以把自己记住的知识点记录下来,这样,以后自己来翻看的时候,可以很快的找到思路. 毕竟自己不是大神,所以还是多记录一下. 一,多表单切换: 例子: driver.switch_to.iframe(""if"") driver.find_element_by_css_selector("[name=kw].…
form表单的target,当将iframe设置为隐藏时,可以实现当前页表单提交而不进行跳转刷新.代码如下,首页在页面里准备一个form表单和一个iframe. <form action="提交的action" method="post" target="myIframe"> ..................... </form> <iframe name="myIframe" style=&…
<form action="" id="" method="post" target="nm_iframe"> <input type="text" id="input_text" name="input_text"/> <input type="submit" id="sobmit" name=&…
偶然有一机会发现form表单的target的用法,可以实现当前页表单提交而不进行跳转刷新.代码如下,首页在页面里准备一form表单和一iframe <form action="提交的action" method="post" target="theID"> ..................... </form> <iframe name="theID" style="display:…
当我们在网站上注册登录还是提交评论,都需要用到表单,今天我们来分享8款最新CSS3表单,有几个效果很酷很特别,有些也非常实用,一起来看看. 1.CSS3环形特色表单 转圈切换表单焦点 这款CSS3表单非常有特色,估计各位不太会看到过,这是一款CSS3环形特色表单,整个环形由一个个输入框组成,当用鼠标激活输入框焦点时,环形圈即会转到该表单项.我们也可以用tab键来逐个选择输入框来输入表单内容. 在线演示        源码下载 2.HTML5/CSS3联系表单 提交按钮有发光动画 好多天前我们分享…