L'ouverture d'une nouvelle fenêtre dans WebDriver à l'aide de C#
EDIT 4:
MODIFIER 3
EDIT 2
string currentWindow = driver.CurrentWindowHandle;
driver.SwitchTo().Window("");
string childTitle = driver.Title;
driver.SwitchTo().Window(currentWindow);
string parentTitle = driver.Title;
le code ci-dessus me donne le même titre pour la fenêtre parent ou de l'enfant de la fenêtre.
EDIT:
<a id="ctl00_ctl00_Features_ctl03_lnkPage" class="title" target="_blank" href="websiteaddress">Stay Around</a>
comment vérifier le titre d'une nouvelle fenêtre ouverte et une fois que j'ai vérifié, puis fermer l'ouverture de la nouvelle fenêtre?
donc dans ma page j'ai un lien et cliquez sur le lien et il ouvre une nouvelle fenêtre et maintenant, je ne suis pas sûr de la façon de vérifier le titre de la fenêtre.
voici ce que j'ai fait jusqu'à présent.
GoToMysiteUrl();
IWebElement addtoList = driver.FindElement(By.XPath(_pageName));
addtoList.Click();
//on ouvre une nouvelle fenêtre
maintenant, je veux passer à se concentrer sur la nouvelle fenêtre et vérifier le titre et fermez la nouvelle fenêtre
de retour à la fenêtre précédente.
Vous devez vous connecter pour publier un commentaire.
La pièce que la plupart des gens manquer lorsque vous traitez avec des fenêtres pop-up dans internet explorer est qu'un clic sur un élément est asynchrone. C'est-à-dire, si vous cochez la
.WindowHandles
bien immédiatement après un clic, vous risquez de perdre la condition de la course, parce que vous êtes de vérifier l'existence d'une nouvelle fenêtre à l'avant de l'IE a eu la chance de le créer, et le pilote a eu une chance de s'inscrire, il existe.Voici le code C# je voudrais l'utiliser pour effectuer la même opération:
D'ailleurs, si vous êtes en utilisant le .NET liaisons, vous avez accès à un
PopupWindowFinder
classe dans le WebDriver.Support.dll l'assemblée, qui utilise une approche très semblable à la localisation des fenêtres popup. Vous pouvez trouver cette classe répondent exactement à vos besoins, et vous pouvez l'utiliser sans modification.No window found
sur la dernière lignedriver.SwitchTo().Window(foundHandle);
[0] "1bd949f4-12c9-4098-ac53-83cb82ea8cd7"
[1] "de35fb9c-990f-497e-866e-98a87c90d12e"
j'ai trouvé deux windowHandleIntroduceInstabilityByIgnoringProtectedModeSettings
option lors du lancement de la pilote. A côté de cela, il existe de nombreux tests qui sont capable de basculer d'une fenêtre pop-up sans problème, y compris dans les tests pour le WebDriver projet lui-même.some settings are managed by your system administrator
la case [] activer le mode protégé est désactivé.... que dire de ce code " var options = new InternetExplorerOptions(); options.IntroduceInstabilityByIgnoringProtectedmodesettings = true; _driver = new InternetExplorerDriver(options); " j'ai essayé, mais ne fonctionne pas.... ergggg//Post-opération ci-dessus une nouvelle fenêtre ouverte, comme décrit dans la résolution de
//S'emparer de la fenêtre Principale de la poignée
//Passer à la fenêtre nouvellement ouverte
//Effectuer des Actions requises/Affirmations ici et fermer la fenêtre
//Passer à la fenêtre Principale
target="_blank"