【selenium】各种exception
selenium中的Exception解释
exception selenium.common.exceptions.ElementClickInterceptedException(msg=None, screen=None, stacktrace=None)
元素被遮盖导致无法取到
exception selenium.common.exceptions.ElementNotInteractableException(msg=None, screen=None, stacktrace=None)
DOM中存在一个元素,但与该元素的交互将影响另一个元素来绘制顺序
exception selenium.common.exceptions.ElementNotSelectableException(msg=None, screen=None, stacktrace=None)
尝试选择不可选择的元素,比如,选中一个script元素
exception selenium.common.exceptions.ElementNotVisibleException(msg=None, screen=None, stacktrace=None)
当元素存在于DOM上但不可见时,因此无法与之交互。大多数情况时,尝试单击或阅读从视图中隐藏的元素的文本
exception selenium.common.exceptions.ErrorInResponseException(response, msg)
服务器端发生了错误,可能发生在于Firefox浏览器的扩展或者远程服务器通信时。
- exception selenium.common.exceptions.ImeActivationFailedException(msg=None, screen=None, stacktrace=None)[source]
-
激活一个IME引擎失败
- exception selenium.common.exceptions.ImeNotAvailableException(msg=None, screen=None, stacktrace=None)[source]
-
IME支持不可用。当IME支持不可用时抛出。 如果计算机上没有IME支持,则将为每个与IME相关的方法调用抛出此异常。
- exception selenium.common.exceptions.InsecureCertificateException(msg=None, screen=None, stacktrace=None)[source]
-
用户代理触发一个证书警告,这通常是由于TLS证书过期或者无效
- exception selenium.common.exceptions.InvalidArgumentException(msg=None, screen=None, stacktrace=None)[source]
-
传递给命令的参数无效或格式错误。
- exception selenium.common.exceptions.InvalidCookieDomainException(msg=None, screen=None, stacktrace=None)[source]
-
尝试在与当前URL不同的域下添加cookie
- exception selenium.common.exceptions.InvalidCoordinatesException(msg=None, screen=None, stacktrace=None)[source]
-
提供给交互操作的坐标无效。
- exception selenium.common.exceptions.InvalidElementStateException(msg=None, screen=None, stacktrace=None)[source]
-
由于元素处于无效状态导致命令无法完成。这可能是由于尝试清除既不可编辑又不可重置的元素引起的。
- exception selenium.common.exceptions.InvalidSelectorException(msg=None, screen=None, stacktrace=None)[source]
-
用于寻找元素的selector无法返回一个WebElement。目前只有在selector是xpath语句,并且要么语句的语法无效(比如,他不是一个小path语句),要么语句没有选择一个WebElements(比如 “count(//input)”).
- exception selenium.common.exceptions.InvalidSessionIdException(msg=None, screen=None, stacktrace=None)[source]
-
当获取的sessionid不是一个有效的session list,意味着要么session不存在要么session未激活
- exception selenium.common.exceptions.InvalidSwitchToTargetException(msg=None, screen=None, stacktrace=None)[source]
-
切换的frame或者窗口目标不存在
- exception selenium.common.exceptions.JavascriptException(msg=None, screen=None, stacktrace=None)[source]
-
用户提供的执行JavaScript发生错误了
- exception selenium.common.exceptions.MoveTargetOutOfBoundsException(msg=None, screen=None, stacktrace=None)[source]
-
Thrown when the target provided to the ActionsChains move() method is invalid, i.e. out of document.
用于ActionChains move()方法的目标是无效的,比如out of document
- exception selenium.common.exceptions.NoAlertPresentException(msg=None, screen=None, stacktrace=None)[source]
-
切换到没有出现的警告上时的报错,有可能出现在调用Alert()类时屏幕上传没有出现警告
- exception selenium.common.exceptions.NoSuchAttributeException(msg=None, screen=None, stacktrace=None)[source]
- 当元素的属性没有找到时的报错。当你想检查所测试的特定浏览器的某个属性是否存在时,不同浏览器可能对同一个属性有不同的名称,比如IE8的.innerText,Firefox上是.textContent
- exception selenium.common.exceptions.NoSuchCookieException(msg=None, screen=None, stacktrace=None)[source]
-
在当前浏览上下文的活动文档的关联cookie中未找到与给定路径名匹配的cookie.
- exception selenium.common.exceptions.NoSuchElementException(msg=None, screen=None, stacktrace=None)[source]
-
未找到元素.
如果你遇到这个exception,那么你要检查下面的项:
- 检查你find_by使用的selector
-
查找操作时,元素可能尚未出现在屏幕上(网页仍在加载中),有关如何编写等待包装器以等待元素出现的信息,请参见selenium.webdriver.support.wait.WebDriverWait()。.
- exception selenium.common.exceptions.NoSuchFrameException(msg=None, screen=None, stacktrace=None)[source]
-
查找的iframe不存在
- exception selenium.common.exceptions.NoSuchWindowException(msg=None, screen=None, stacktrace=None)[source]
-
切换的目标窗口不存在.
要查找当前的活动窗口句柄集,可以通过以下方式获得活动窗口句柄的列表:print driver.window_handles
- exception selenium.common.exceptions.RemoteDriverServerException(msg=None, screen=None, stacktrace=None)[source]
- exception selenium.common.exceptions.ScreenshotException(msg=None, screen=None, stacktrace=None)[source]
-
无此创建一个截图.
- exception selenium.common.exceptions.SessionNotCreatedException(msg=None, screen=None, stacktrace=None)[source]
- 新的session没有创建.
- exception selenium.common.exceptions.StaleElementReferenceException(msg=None, screen=None, stacktrace=None)[source]
-
当对元素的引用现在“陈旧”时抛出。
陈旧意味着元素不再出现在页面的DOM上。
StaleElementReferenceException的可能原因包括但不限于:
- 您不再位于同一页面上,或者自找到元素以来该页面可能已刷新。
- 由于已定位该元素,因此可能已将其删除并重新添加到屏幕。 例如正在重定位的元素。 当值更新并重建节点时,这通常会在JavaScript框架中发生。
- 元素可能位于iframe或其他刷新的上下文中。
- exception selenium.common.exceptions.TimeoutException(msg=None, screen=None, stacktrace=None)[source]
-
命令执行未完成导致超时了
- exception selenium.common.exceptions.UnableToSetCookieException(msg=None, screen=None, stacktrace=None)[source]
-
当浏览器设置cookie失败了.
- exception selenium.common.exceptions.UnexpectedAlertPresentException(msg=None, screen=None, stacktrace=None, alert_text=None)[source]
-
出现意外警报时抛出。.
通常在预期的模式阻止WebDriver表单执行更多命令时引发。.
- exception selenium.common.exceptions.UnexpectedTagNameException(msg=None, screen=None, stacktrace=None)[source]
-
当一个类没有找到想要的web 元素时抛出.
- exception selenium.common.exceptions.UnknownMethodException(msg=None, screen=None, stacktrace=None)[source]
-
请求的命令与已知URL匹配,但与该URL的方法不匹配。
- exception selenium.common.exceptions.WebDriverException(msg=None, screen=None, stacktrace=None)[source]
-
基本的webdriver异常
NoSuchFrameException