无法在 SharePoint 弹出窗口中找到元素 window
Unable to locate element in SharePoint popup window
当我想在 Sharepoint 2010 中创建新页面时,我无法找到元素。我正在将我的测试用例从 Selenium IDE Java / Junit 4 WebDriver 导出到 eclipse .
弹出窗口 window 如下所示:http://imgur.com/a/oLNLb
我尝试了许多不同的元素定位器和组合,例如:Xpath、Csselector、Id、Name
其中 none 似乎能够找到输入字段。
为什么会这样?
我尝试过使用 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 中的弹出窗口 windows 通常是带有嵌入式页面的 iframe。
如果您可以获得对 iframe 的引用,则可以使用 iframe 的 contentDocument
属性.
查询嵌入页面
比如你的iframe的class名字是ms-dlgFrame
,文本输入控件的ID是ctl00_PlaceHolderMain_nameInput
,你可以使用下面的JavaScript到select输入文本框:
document.querySelector(".ms-dlgFrame").contentDocument.querySelector("#ctl00_PlaceHolderMain_nameInput")
当我想在 Sharepoint 2010 中创建新页面时,我无法找到元素。我正在将我的测试用例从 Selenium IDE Java / Junit 4 WebDriver 导出到 eclipse .
弹出窗口 window 如下所示:http://imgur.com/a/oLNLb
我尝试了许多不同的元素定位器和组合,例如:Xpath、Csselector、Id、Name 其中 none 似乎能够找到输入字段。
为什么会这样?
我尝试过使用 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 中的弹出窗口 windows 通常是带有嵌入式页面的 iframe。
如果您可以获得对 iframe 的引用,则可以使用 iframe 的 contentDocument
属性.
比如你的iframe的class名字是ms-dlgFrame
,文本输入控件的ID是ctl00_PlaceHolderMain_nameInput
,你可以使用下面的JavaScript到select输入文本框:
document.querySelector(".ms-dlgFrame").contentDocument.querySelector("#ctl00_PlaceHolderMain_nameInput")