问题:有一些元素,无论是通过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元素,并输入了用户名:
时间: 2024-10-09 20:52:30