poco.exceptions module

exception PocoException(message=None)[source]

Bases: Exception

Base class for errors and exceptions of Poco. It is Python3 compatible.

exception InvalidOperationException(message=None)[source]

Bases: poco.exceptions.PocoException

Raised when the operation performing on target device is foreseen, e.g. instruction to click outside the screen is definitely meaningless, then the InvalidOperationException is raised.

exception PocoTargetTimeout(action, poco_obj_proxy)[source]

Bases: poco.exceptions.PocoException

Raised when the timeout expired while waiting for some condition to be fulfilled, e.g. waiting for the specific UI element but it has not appeared on the screen.

exception PocoNoSuchNodeException(objproxy)[source]

Bases: poco.exceptions.PocoException

Raised when the UI element specified by query expression cannot be found.

exception PocoTargetRemovedException(action, objproxy)[source]

Bases: poco.exceptions.PocoException

Raised when the hierarchy structure changed over the selection or when accessing the UI element that is already recycled.

In most cases, there is no need to handle this exception manually. If this exception occurs, it usually means it is a bug in your code rather than application itself. Check your code first. The most of misuses comes from as follows.


button1 = poco('button1')
time.sleep(10)   # waiting for long enough before the UI hierarchy changing
button1.click()  # PocoTargetRemovedException will raise at this line. Because the 'button1' is not on the screen.