javascript / selenium: получить окно из объекта документа - PullRequest
4 голосов
/ 25 января 2010

Я пишу пользовательские расширения для селена. У меня есть объект document. Как я могу получить window объект окна, в котором находится мой документ?

PageBot.prototype.locateElementByMyLocator= function(text, inDocument) {
     // I want the window here
}

Ответы [ 2 ]

4 голосов
/ 26 января 2010

Если вы пишете свое собственное расширение, вы можете получить объект окна в Selenium, набрав

Selenium.prototype.doExtensionStuff(){
   var doc = this.browserbot.getUserWindow().document; //This returns the document that Selenium is using

}

Это считается лучшим способом работы и будет работать в любом браузере, так как Selenium позаботится о различных проблемах браузера

4 голосов
/ 25 января 2010

В IE это document.parentWindow; в Mozilla это document.defaultView.

Таким образом, вы можете сделать что-то вроде

function getDocWindow(doc) {
  return doc.parentWindow || doc.defaultView;
}
...