selenium-webdriver
Uitzonderingen in Selenium-WebDriver
Zoeken…
Invoering
Er zijn een aantal uitzonderingen die kunnen worden gegenereerd tijdens het gebruik van een webdriver. De onderstaande voorbeelden zijn bedoeld om een idee te geven van wat ze betekenen.
Python-uitzonderingen
Selenium-uitzonderingsdocumentatie
ElementNotInteractableException: gegooid wanneer een element aanwezig is in de DOM maar interacties met dat element zullen een ander element raken vanwege de verfvolgorde
- ElementNotSelectableException: wordt gegenereerd bij het proberen een niet-selecteerbaar element te selecteren. Voorbeelden van niet-selecteerbare elementen:
- script
- ElementNotVisibleException: gegooid wanneer een element aanwezig is op de DOM, maar het is niet zichtbaar en kan dus niet worden gebruikt. Het meest aangetroffen bij het proberen te klikken of tekst te lezen van een element dat aan het zicht is onttrokken.
- ErrorInResponseException: wordt gegenereerd wanneer een serverfout is opgetreden. Dit kan gebeuren wanneer u communiceert met de Firefox-extensie of de externe stuurprogrammaserver.
- ImeActivationFailedException: Gegooid bij het activeren van een IME-engine is mislukt.
- ImeNotAvailableException: gegenereerd wanneer IME-ondersteuning niet beschikbaar is. Deze uitzondering wordt gegenereerd voor elke IME-gerelateerde methodeaanroep als IME-ondersteuning niet beschikbaar is op de machine.
- InvalidArgumentException: de aan een opdracht doorgegeven argumenten zijn ongeldig of onjuist opgemaakt.
- InvalidCookieDomainException: wordt gegenereerd wanneer wordt geprobeerd een cookie toe te voegen onder een ander domein dan de huidige URL.
- InvalidElementStateException: gegenereerd wanneer een actie een ongeldige status voor een element zou veroorzaken. subklassen:
- ElementNotInteractableException
- ElementNotSelectableException
- ElementNotVisibleException
- InvalidSelectorException: wordt gegenereerd wanneer de selector die wordt gebruikt om een element te vinden geen WebElement retourneert. Momenteel gebeurt dit alleen wanneer de selector een xpath-expressie is en deze ofwel syntactisch ongeldig is (dat wil zeggen het is geen xpath-expressie) of de expressie WebElements niet selecteert (bijvoorbeeld “count (// input)”).
- InvalidSwitchToTargetException: gegooid wanneer frame of venster dat moet worden omgeschakeld niet bestaat.
- MoveTargetOutOfBoundsException: wordt gegenereerd wanneer het aan de ActionsChains-methode move () verstrekte doel ongeldig is, dwz geen document meer.
- NoAlertPresentException: Gegooid bij het overschakelen naar geen gepresenteerde waarschuwing. Dit kan worden veroorzaakt door een bewerking in de klasse Alert () aan te roepen wanneer er nog geen melding op het scherm wordt weergegeven.
- NoSuchAttributeException: gegenereerd wanneer het kenmerk van het element niet kon worden gevonden. Misschien wilt u controleren of het kenmerk bestaat in de specifieke browser waarmee u test. Sommige browsers kunnen verschillende eigenschapsnamen hebben voor dezelfde eigenschap. (IE8's .innerText versus Firefox .textContent)
- NoSuchElementException: Gegooid wanneer element niet kon worden gevonden. Als u deze uitzondering tegenkomt, kunt u het volgende controleren:
- Controleer uw selector die wordt gebruikt in uw find_by ...
- Element staat mogelijk nog niet op het scherm op het moment van de zoekopdracht, (webpagina wordt nog geladen) zie selenium.webdriver.support.wait.WebDriverWait () voor het schrijven van een wachtomslag om te wachten tot een element verschijnt.
- NoSuchFrameException: gegooid wanneer het om te schakelen framedoel niet bestaat.
- NoSuchWindowException: gegooid wanneer het te schakelen vensterdoel niet bestaat. Om de huidige set actieve vensterhandvatten te vinden, kunt u een lijst van de actieve vensterhandvatten op de volgende manier krijgen:
print driver.window_handles
- RemoteDriverServerException:
- StaleElementReferenceException: wordt gegenereerd wanneer een verwijzing naar een element nu "oud" is. Oud betekent dat het element niet langer op de DOM van de pagina verschijnt. Mogelijke oorzaken van StaleElementReferenceException omvatten, maar zijn niet beperkt tot:
- U bevindt zich niet meer op dezelfde pagina of de pagina is mogelijk vernieuwd sinds het element zich bevond.
- Het element is mogelijk verwijderd en opnieuw toegevoegd aan het scherm, omdat het zich bevond. Zoals een element dat verplaatst wordt. Dit kan meestal gebeuren met een JavaScript-framework wanneer waarden worden bijgewerkt en het knooppunt opnieuw wordt opgebouwd.
- Element bevindt zich mogelijk in een iframe of een andere context die is vernieuwd.
- TimeoutException: wordt gegenereerd wanneer een opdracht niet tijdig genoeg wordt voltooid.
- UnableToSetCookieException: wordt gegenereerd wanneer een stuurprogramma geen cookie instelt.
- UnexpectedAlertPresentException: gegooid wanneer een onverwacht alarm wordt weergegeven. Meestal opgewekt wanneer een verwacht modaal de vorm van een webstuurprogramma blokkeert en nog meer opdrachten uitvoert.
- UnexpectedTagNameException: wordt gegenereerd wanneer een ondersteuningsklasse geen verwacht webelement kreeg.
- WebDriverException: uitzondering voor basiswebdriver . Alle uitzonderingen voor webdrivers gebruiken WebDriverException of InvalidStateException als de bovenliggende klasse.
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow