无法在SharePoint弹出窗口中找到元素

无法在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(); 

感谢。 :)

+1

u能分享html – NarendraR

+0

@NarendraRajput对不起,这是不可能的! – AlanD

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