【发布时间】:2023-04-04 23:18:01
【问题描述】:
目前我写了一个小程序,它遍历一个页面并查找标签名=“input”的web元素,然后使用sendkeys向元素发送数据,然后提交。我遇到的问题是,虽然它在大多数情况下都有效,但如果我在页面上有一个 iframe,并且我遍历网页寻找标签名 =“input”的元素,它会专注于 iframe 的地址栏和向它发送数据,然后尝试提交它导致错误(当我在 iframe 中打印地址栏的标记名时,它在控制台上打印出“输入”)。
有没有办法避免 iframe 上的地址栏被作为 tagname = "input" 的元素拾取?
我正在使用以下内容来检查元素是否具有“输入”的标记名:
List<WebElement> element = driver.findElements(By.xpath("//*"));
int mainSize = element.size();
for ( int j = 0; j < mainSize; j++ ) {
if(frameElement.get(j).getTagName().toString().equals("input")){
//do something
}
}
一些注意事项:
- 在使用 switchTo() 方法切换到 iframe 元素之前,通过标记名搜索“input”元素的网页元素会发生这种情况。
【问题讨论】:
-
你能分享包含地址栏元素的 iframe 的 html 吗?