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