selenium-webdriver
Undantag i Selenium-WebDriver
Sök…
Introduktion
Det finns ett antal undantag som kan kastas när du använder en webbdrivare. Exemplen nedan är avsedda att ge en uppfattning om vad de menar.
Python-undantag
Selenium Undantagsdokumentation
ElementNotInteractableException: kastas när ett element finns i DOM men interaktioner med det elementet kommer att träffa ett annat element på grund av färgordning
- ElementNotSelectableException: kastas när du försöker välja ett oselekterbart element. Exempel på oselekterbara element:
- manus
- ElementNotVisibleException: kastas när ett element finns på DOM, men det är inte synligt, och kan därför inte interageras med. Vanligtvis uppstår när du försöker klicka eller läsa text i ett element som är dold från vyn.
- ErrorInResponseException: kastas när ett fel har inträffat på serversidan. Detta kan hända när du kommunicerar med Firefox-förlängningen eller fjärrdrivrutinsservern.
- ImeActivationFailedException: kastades när aktiveringen av en IME-motor har misslyckats.
- ImeNotAvailableException: kastas när IME-support inte är tillgängligt. Detta undantag kastas för alla IME-relaterade metodsamtal om IME-support inte är tillgängligt på maskinen.
- InvalidArgumentException: Argumenten som skickas till ett kommando är antingen ogiltiga eller felaktiga.
- InvalidCookieDomainException: kastas när du försöker lägga till en cookie under en annan domän än den nuvarande URL-adressen.
- InvalidElementStateException: Kastas när en åtgärd skulle leda till ett ogiltigt tillstånd för ett element. klasser:
- ElementNotInteractableException
- ElementNotSelectableException
- ElementNotVisibleException
- InvalidSelectorException: kastas när väljaren som används för att hitta ett element inte returnerar ett WebElement. För närvarande händer detta bara när väljaren är ett xpath-uttryck och det antingen är syntaktiskt ogiltigt (dvs. det är inte ett xpath-uttryck) eller uttrycket inte väljer WebElements (t.ex. "count (// input)").
- InvalidSwitchToTargetException: kastas när ram eller fönstermål som ska bytas inte finns.
- MoveTargetOutOfBoundsException: kastas när målet som tillhandahålls för metoden ActionsChains move () är ogiltigt, dvs. utan dokument.
- NoAlertPresentException: kastas när du byter till ingen presenterad varning. Detta kan orsakas av att man ringer en operation i klassen Alert () när en varning ännu inte finns på skärmen.
- NoSuchAttributeException: kastades när elementets attribut inte kunde hittas. Du kanske vill kontrollera om attributet finns i den webbläsare du testar mot. Vissa webbläsare kan ha olika egendomsnamn för samma egendom. (IE8: s .innerText vs. Firefox .textinnehåll)
- NoSuchElementException: kastades när elementet inte kunde hittas. Om du stöter på detta undantag kanske du vill kontrollera följande:
- Kontrollera din väljare som används i din find_by ...
- Elementet kanske ännu inte finns på skärmen vid fyndoperationen, (webbsidan laddas fortfarande) se selenium.webdriver.support.wait.WebDriverWait () för hur man skriver en väntaomslag för att vänta på att ett element visas.
- NoSuchFrameException: kastas när rammål som ska bytas inte finns.
- NoSuchWindowException: kastas när fönstermål som ska bytas inte finns. För att hitta den aktuella uppsättningen av aktiva fönsterhandtag kan du få en lista över de aktiva fönsterhandtagen på följande sätt:
print driver.window_handles
- RemoteDriverServerException:
- StaleElementReferenceException: kastas när en hänvisning till ett element nu är "föråldrad". Föråldrad innebär att elementet inte längre visas på sidans DOM. Möjliga orsaker till StaleElementReferenceException inkluderar, men inte begränsat till:
- Du är inte längre på samma sida, eller så kan sidan ha uppdaterats sedan elementet hittades.
- Elementet kan ha tagits bort och lagt till igen på skärmen eftersom det fanns. Såsom ett element som flyttas. Detta kan vanligtvis hända med ett javascript-ramverk när värden uppdateras och noden byggs om.
- Elementet kan ha varit inuti en iframe eller ett annat sammanhang som har uppdaterats.
- TimeoutException: kastas när ett kommando inte slutförs på tillräckligt med tid.
- UnableToSetCookieException: kastas när en drivrutin inte ställer in en cookie.
- UnexpectedAlertPresentException: kastas när en oväntad varning visas. Upphämtas vanligtvis när en förväntad modal blockerar webbdrivrutinsform och kör fler kommandon.
- UnexpectedTagNameException: kastades när en supportklass inte fick ett förväntat webbelement.
- WebDriverException: Undantag från basdrivrutinen. Alla undantag från webbdrivaren använder antingen WebDriverException eller InvalidStateException som överklass.
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow