正如我们所知,iframe可以使用frameslist计算,但这对我不起作用并给出空白输出,尽管帧数计算为2.我使用Selenium WebDriver和Java。
基本上我想得到img source的数据-mce-src以cid开头,而dfsrc以@结尾,根据下面的截图。
我试过了:
css=img[data-mce-src^='cid']&&[data-mce-src$='@'] element present?
在selenium 1.0中使用sIsElementPresent可以正常工作,但在使用findElement的webdriver中失败。事实上,它并不能识别iframe本身。
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
也尝试过:
import datetime
d = datetime.datetime.strptime("11/2/1998", "%d/%m/%Y")
print d.strftime("%d%m%y")
答案 0 :(得分:1)
你应该尝试如下: -
webDriver().switchTo().frame("Editor1_body_ifr");
we = webDriver().findElement(By.cssSelector("body#tinymce img"));
System.out.println(we.getAttribute("src"));
答案 1 :(得分:0)
try {
webDriver().switchTo().frame("Editor1_body_ifr");
we = webDriver().findElement(By.cssSelector("html body img"));
System.out.println(we.getAttribute("src"));
System.out.println(we.getAttribute("data-mce-src"));
System.out.println(we.getAttribute("dfsrc"));
} finally {
webDriver.switchTo().defaultContent();
}