2017-02-28 2 views
1

Ich habe Probleme beim Suchen nach einem Element, wenn ich eine neue Seite in Sharepoint 2010 erstellen möchte. Ich exportiere meinen Testfall von Selenium IDE Java/Junit 4 WebDriver in Eclipse.Element im SharePoint-Popup-Fenster nicht zu finden

Hier ist, wie die Pop-up-Fenster wie folgt aussehen: http://imgur.com/a/oLNLb

Ive versucht, viele verschiedenen Elemente Locators und Kombinationen wie: Xpath, Csselector, ID, Name und keiner von ihnen scheinen in der Lage zu sein, die finden Eingabefeld.

Warum ist es so?

Ich habe es mit ExplicitWait und Implicit versucht, aber das scheint mein Problem nicht zu lösen.

Hier ist, wo es klemmt:

try{ 
     assertTrue(isElementPresent(By.cssSelector("#ctl00_PlaceHolderMain_nameInput"))); 
    } 
    catch(Error e) { 
     verificationErrors.append(e.toString()); 
    } 


    driver.findElement(By.xpath(".//*[@id='ctl00_PlaceHolderMain_nameInput']")).click(); 

Vielen Dank im Voraus. :)

+1

u kann das gemeinsam nutzen html – NarendraR

+0

@NarendraRajput Sorry, es ist nicht möglich! – AlanD

Antwort

1

Popup-Fenster in SharePoint 2010 sind normalerweise Iframes mit eingebetteten Seiten.

Wenn Sie einen Verweis auf den Iframe erhalten können, können Sie die eingebettete Seite mit der Eigenschaft contentDocument des Iframes abfragen.

Zum Beispiel, wenn Ihr iframe einen Klassennamen von ms-dlgFrame hat, und die Texteingabesteuer hat eine ID von ctl00_PlaceHolderMain_nameInput, können Sie den folgenden JavaScript verwenden, um die Eingabetextfeld auszuwählen:

document.querySelector(".ms-dlgFrame").contentDocument.querySelector("#ctl00_PlaceHolderMain_nameInput") 
+1

Vielen Dank für Ihre Antwort. Jetzt sollte ich lernen, JS-Befehle in Java auszuführen. Ihre Antwort gab mir den Hinweis! Vielen Dank! – AlanD

Verwandte Themen