【发布时间】:2018-08-11 23:25:51
【问题描述】:
我们知道 iframe 可以使用 frameslist 进行计数,但这对我不起作用并给出空白输出,尽管帧计数将我计数为 2。我正在使用 Selenium WebDriver 和 Java。
基本上我想根据下面的截图获取img源的data-mce-src以cid开头,dfsrc以@结尾。
我试过了:
public static final String imageAttachment="css=img[data-mce-src^='cid']&&[data-mce-src$='@']";
在 selenium 1.0 中使用 sIsElementPresent 可以正常工作,但在使用 findElement 的 webdriver 中失败。实际上它并不能识别 iframe 本身。
预期:
css=img[data-mce-src^='cid']&&[data-mce-src$='@'] element present?
代码:
WebElement we = null;
List <WebElement> framesList = webDriver().findElements(By.tagName("iframe"));
for (WebElement frame:framesList){
System.out.println(frame.getText()); // returns nothing
}
int listSize = framesList.size();
webDriver().findElement(By.xpath("//iframe"));
System.out.println(listSize);
也试过了:
webDriver().switchTo().frame(webDriver().findElements(By.tagName("iframe"));
we = webDriver().findElement(By.cssSelector("html body div img"));
System.out.println(we.getAttribute("src")); // returns nothing
【问题讨论】:
标签: selenium selenium-webdriver webdriver