selenium中定位iframe框

这是使用谷歌看到的源码.想要往里面输入内容,需要使用js.
这个iframe没有id,不能通过id直接定位到.但可以通用TagName来定位到iframe.
WebDriver中定位的代码如下:
String js="document.getElementsByTagName('iframe')[0].contentWindow.document.body.innerHTML='在iframe框中输入的内容'";
2 ((JavascriptExecutor)driver).executeScript(js);
selenium1中的定位代码如下:
String js="document.getElementsByTagName('iframe')[0].contentWindow.document.body.innerHTML='在iframe框中输入的内容'";
selenium.runScript(js);
可以看出来,其实WebDriver和selenium定位iframe的方式是一样的,区别只是执行js的方法。
PS:如果iframe存在id,可以通过id定位。假设id=iframe,定位的代码如下:
String js="document.getElementById('iframe').contentWindow.document.body.innerHTML='在iframe框中输入的内容'";
((JavascriptExecutor)driver).executeScript(js);
selenium中定位iframe框的更多相关文章
- Selenium webdriver定位iframe里面元素两种方法
以东方财富网登录页面为例: 在查找元素过程中,直接通过id或者xpath等找不到元素,查看页面源代码发现元素是属于iframe里,例如: <div class="wrap_login& ...
- Selenium webdriver定位iframe里面元素
在查找元素过程中,直接通过id或者xpath等找不到元素,查看页面源代码发现元素是属于iframe里,例如: <div class="wrap_login"> < ...
- Java中通过Selenium WebDriver定位iframe中的元素
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 问题:有一些元素,无论是通过id或是xpath等等,怎么都定位不到. 分析:这很可能是因为你要定位 ...
- Python+Selenium学习--定位iframe中的对象
场景 在web 应用中经常会出现frame 嵌套的应用,假设页面上有A.B 两个frame,其中B 在A 内,那么定位B 中的内容则需要先到A,然后再到B. switch_to_frame ...
- selenium 中在 iframe 内的元素定位
有些时候 元素明明就在 但是通过什么方式定位都提示 定位不到元素 此时就要考虑元素是不是内嵌在iframe 中 对于内嵌在 ifra中的元素定位 首先定位到 iframe 元素 例如 iframe = ...
- selenium中嵌套iframe的切换
前言:适用于多级iframe操作 1.普通的切换iframe from selenium import webdriver driver = webdriver.Firefox() driver.sw ...
- 多测师讲解自动化测试 _RF定位iframe框_高级讲师肖sir
Open Browser https://mail.163.com/ gc Maximize Browser Window sleep 2 #进入if框 Comment Input Text name ...
- python+selenium 元素定位--iframe
1. 一般webdriver要操作页面元素需要在Top Window的状态下,如下: 2.当浏览器显示iframe时,用正常的元素定位是没有效果的,需要将页面装换到iframe下再对页面元素进行操作 ...
- Selenium中定位元素的方法
find_element_by_id()find_element_by_name()find_element_by_class_name()find_element_by_tag_name()find ...
随机推荐
- error: 'LOGE' was not declared in this scope
移植了下HAL,发现编译出现如下错误 error: 'LOGE' was not declared in this scope 比较了一下android4.1的 system/core/include ...
- hadoop异常:java.lang.RuntimeException: java.lang.NoSuchMethodException
出现异常的程序大致框架是这样的: public class getMaxTemperature extends Configured implements Tool { ... class MaxTe ...
- 结构体dfield_t
/* SQL data field struct */ typedef struct dfield_struct dfield_t; /** Structure for an SQL data fie ...
- C#实现调用Java类中方法
基本思路: 用C#实现调用Java编写的类中的方法:重点是将Java编写的程序打包成Jar,然后使用开源工具IKVM将其转化成DLL控件,在.NET环境下调用. 分为以下步骤: 1.下载JDK6(注: ...
- ActiveX添加测试工程, 出现的问题[非选择性参数][找不到成员]
ActiveX 添加测试工程 1.新建工程MFC application, 2.添加完毕,在main Dialog中, 右键[Insert Activex Control],选择你的ActiveX控件 ...
- VC一些经验系列:《平均绘画矩形图,双击全屏》
1.RGB宏报错 RGB宏是这样的, #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))| ...
- HDU 2817 A sequence of numbers
http://acm.hdu.edu.cn/showproblem.php?pid=2817 __int64 pow_mod (__int64 a, __int64 n, __int64 m)快速幂取 ...
- [摘]selenium-ide命令
关于,selenium 命令这一部分,为了便于像我一样的菜鸟理解,我采用通过例子讲命令的方式. 菜鸟Selenium 命令通常被称为selenese,有一系列运行测试案例所需的命令构成. ----// ...
- BZOJ1901 - Dynamic Rankings(树状数组套主席树)
题目大意 给定一个有N个数字的序列,然后又m个指令,指令种类只有两种,形式如下: Q l r k 要求你查询区间[l,r]第k小的数是哪个 C i t 要求你把第i个数修改为t 题解 动态的区间第k ...
- vmware 8下ubuntu 13.04安装vmware tools
在虚拟机vmware 8.0里安装了ubuntu 13.04.为了方便与主机交互,安装vmware tools. 解压后直接运行 ./vmware-install.pl 一路默认路径安装下来,到&qu ...