Java中通过Selenium WebDriver定位iframe中的元素

jopen 9年前

问题: 有一些元素,无论是通过id或是xpath等等,怎么都定位不到。

分析: 这很可能是因为你要定位的元素被嵌套在了当前页面的一个iframe元素中,Selenium对iframe中的元素有特殊的定位规则,WebDriver不能够直接进行定位。

解决办法: 我们要把这个iframe元素找出来,让WebDriver转移到这个iframe元素上,之后再让WebDriver对iframe中的元素进行定位。

因为最近在用Java来做一些东西,所以就顺便说一下Selenium在Java环境下的使用,总共分三步:

第一步、 把Selenium的压缩包从官网上下载下来,解压缩后将所有的jar包——

都复制到java project下:

第二步、 右键项目->Build Path->Configue Build Path->Libraries->Add JARs->选择lib文件夹下所有的jar包->OK->OK:

第三步、 在项目中import和Selenium相关的类库并使用。

下面举个实际应用中的例子,拿360游戏中心的首页举例,尝试定位页面左侧的账号栏并输入用户名:

通过查看页面元素,你会发现它被嵌套在了一个iframe里,要定位这个input标签,代码如下:

运行结果如下,我们成功定位到了这个iframe中的input元素,并输入了用户名:

来自: http://www.cnblogs.com/LanTianYou/p/5100575.html