java - selenium 找不到出现在我的浏览器中的 iframe

标签 java jquery css iframe selenium

我尝试运行这段代码:

driver.switchTo().frame(driver.findElement(frameBy));

哪里 farmeBy.selector == #offer-carousel > div > div > div.item.popup.w-control-popup.active > div > div > div > iframe

我得到没有这样的元素异常

如果我在chrome检测工具中运行得到结果怎么可能:

$("#offer-carousel > div > div > div.item.popup.w-control-popup.active > div > div > div > iframe")

最佳答案

我猜你还没有指定访问元素的方式。

从您给出的代码片段来看,您一定是在尝试使用 cssselector 来定位元素。所以,代码可以这样写:

driver.switchTo().frame(driver.findElement(By.cssSelector(frameBy)));

否则,如果您有框架的名称/ID,则可以使用以下代码:

driver.switchTo().frame("name or id");

或者,您可以使用 iframe 的索引:

driver.switchTo().frame(0);

注意:以上代码只有在网页只有一个iframe的情况下才有效。如果有多个,相应地使用必要的索引。

关于java - selenium 找不到出现在我的浏览器中的 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26732509/

相关文章:

java - (JAVA) 包含带有分词器字符串的方法

java - 就餐 : unknown errors reported

html - CSS比例图像重叠

java - 在用户上传之前,我如何比较数据库中的相似图像? ( java )

Java netbeans 自动调整文本区域大小

jquery - 将 jQuery 与 Typescript 2 结合使用

javascript - 如何删除 javascript 中的 unicode 十六进制字符?

javascript - 如何使用 JavaScript 或 jQuery 让我的 "input a word"脚本正常工作?

html - 在不使用 float 的情况下连续对齐div

html - 可滚动父级上的绝对定位元素