无法在SharePoint弹出窗口中找到元素
问题描述:
我想在Sharepoint 2010中创建新页面时发现元素时遇到问题。我将我的测试用例从Selenium IDE Java/Junit 4 WebDriver导出到eclipse中。无法在SharePoint弹出窗口中找到元素
这里的弹出窗口的样子:http://imgur.com/a/oLNLb
从来就尝试了许多不同的元素定位器和组合,如:Xpath的,Csselector,ID,姓名 其中没有一个似乎能找到输入字段。
这是为什么?
我试过用ExplicitWait和Implicit,但似乎没有解决我的问题。
这里就是它卡住:提前
try{
assertTrue(isElementPresent(By.cssSelector("#ctl00_PlaceHolderMain_nameInput")));
}
catch(Error e) {
verificationErrors.append(e.toString());
}
driver.findElement(By.xpath(".//*[@id='ctl00_PlaceHolderMain_nameInput']")).click();
感谢。 :)
答
SharePoint 2010中的弹出式窗口通常是带嵌入式页面的iframe。
如果您可以获得对iframe的引用,则可以使用iframe的contentDocument
属性查询嵌入式页面。
例如,如果你的iframe有ms-dlgFrame
一个类名,文本输入控件的ctl00_PlaceHolderMain_nameInput
的ID,你可以使用下面的JavaScript来选择输入文本框:
document.querySelector(".ms-dlgFrame").contentDocument.querySelector("#ctl00_PlaceHolderMain_nameInput")
+1
谢谢你的回应。现在我应该学会在Java中执行JS命令。你的回应给了我线索!谢谢! – AlanD
u能分享html – NarendraR
@NarendraRajput对不起,这是不可能的! – AlanD