2
votes

Comment gérer le nouvel onglet sur le sélénium IE?

Lorsque j'ouvre un nouvel onglet sur IE, je ne peux pas gérer cela. Comment gérer le nouvel onglet IE et accéder à l'URL?

J'utilise Ctrl + T


4 commentaires

Salut @MosheSlavin Merci pour votre aide. Mais je dois gérer le nouveau navigateur d'onglets IE pour trouver des éléments. Cela fonctionne avec Chrome, mais IE ne l'est pas.


Vous devriez expliquer plus dans votre question ... qu'avez-vous essayé?


Mon script WebUI.openBrowser ('google.com') WebDriver driverInstance = DriverFactory.getWebDriver () //driverInstance.findElements(By.cssSelector('input[name="bt‌ nK "] ')). Get (0). sendK‌ eys (KeyEvent.VK_CONT‌ ROL, KeyEvent.VK_T) WebUI.sendKeys (null, Keys.chord (Keys.CONTROL, "t")) driverInstance.switchTo (). defaultContent () driverInstance.get ("google.com ") Cela ne fonctionne pas avec le navigateur IE.


On dirait que vous ouvrez un nouvel onglet ici. IE bloquera cela par défaut. (Il décide qu'il s'agit d'un popup et invitera l'utilisateur à accepter ...)


3 Réponses :


0
votes

Essayez avec l'exécuteur JavaScript,

JavascriptExecutor js = (JavascriptExecutor) driverInstance;
js.executeScript("window.open(arguments[0], 'blank')", null):


2 commentaires

Cela devrait également fonctionner ... mais l'utilisation de l'exécuteur JavaScript n'est généralement pas recommandée.


Merci pour votre aide, mais cela ne fonctionne pas avec IE,



2
votes

Vous pouvez utiliser:

driver.switchTo().window()

L'utilisation de JavaScriptExecutor n'est généralement pas recommandée.

Vous devriez jeter un œil à cette question et essayez d'activer le mode de compatibilité.

Aussi , jetez un œil à cette réponse pour obtenir des informations générales sur l'utilisation de Selenium avec IE.

J'espère que cela vous aidera !


6 commentaires

Les liens ont été utiles.


Merci pour votre aide, mais ce n'est pas géré avec le navigateur IE,


@ TrungNghĩaCao avez-vous regardé les liens Dans la réponse?


Merci, j'ai trouvé des solutions à partir de votre réponse


@ TrungNghĩaCao heureux d'entendre!


@MosheSlavin c'est la réponse à ma question stackoverflow.com/questions/46251494/...



0
votes

Essayez de faire référence à une ligne de code pour changer d'onglet.

//Switching between tabs using CTRL + tab keys.
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"\t");
//Switch to current selected tab's content.
driver.switchTo().defaultContent();

pour plus d'informations, vous pouvez consulter les liens ci-dessous.

(1) Comment ouvrir un onglet et basculer entre Onglets dans Selenium WebDriver

(2) Selenium 101: Gestion de plusieurs onglets


2 commentaires

WebUI.openBrowser ('google.com') WebDriver driverInstance = DriverFactory.getWebDriver () //driverInstance.findElements(By.cssSelector('input[name="bt‌ nK "] ')). Get (0) .sendK‌ eys (KeyEvent.VK_CONT‌ ROL, KeyEvent.VK_T) WebUI.sendKeys (null, Keys.chord (Keys.CONTROL, "t")) driverInstance.switchTo (). defaultContent () driverInstance.get ("google.com")


Tout d'abord, je vous suggère de faire un test en utilisant un nouvel exemple de code et d'essayer simplement d'en changer les onglets. Une fois que cela fonctionne, essayez de l'implémenter dans votre code d'origine. J'ai également remarqué que votre code n'utilise pas '\ t'. Ça manque '\'.