2017-02-28 96 views
1

我想在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

回答

1

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

相關問題