Files
phishingclub/backend/vendor/github.com/go-rod/rod/error.go
T
Ronni Skansing f5e6f53d75 update vendor
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-05-24 09:57:07 +02:00

194 lines
4.4 KiB
Go

package rod
import (
"context"
"fmt"
"github.com/go-rod/rod/lib/proto"
"github.com/go-rod/rod/lib/utils"
)
// TryError error.
type TryError struct {
Value interface{}
Stack string
}
func (e *TryError) Error() string {
return fmt.Sprintf("error value: %#v\n%s", e.Value, e.Stack)
}
// Is interface.
func (e *TryError) Is(err error) bool { _, ok := err.(*TryError); return ok }
// Unwrap stdlib interface.
func (e *TryError) Unwrap() error {
if err, ok := e.Value.(error); ok {
return err
}
return fmt.Errorf("%v", e.Value)
}
// ExpectElementError error.
type ExpectElementError struct {
*proto.RuntimeRemoteObject
}
func (e *ExpectElementError) Error() string {
return fmt.Sprintf("expect js to return an element, but got: %s", utils.MustToJSON(e))
}
// Is interface.
func (e *ExpectElementError) Is(err error) bool { _, ok := err.(*ExpectElementError); return ok }
// ExpectElementsError error.
type ExpectElementsError struct {
*proto.RuntimeRemoteObject
}
func (e *ExpectElementsError) Error() string {
return fmt.Sprintf("expect js to return an array of elements, but got: %s", utils.MustToJSON(e))
}
// Is interface.
func (e *ExpectElementsError) Is(err error) bool { _, ok := err.(*ExpectElementsError); return ok }
// ElementNotFoundError error.
type ElementNotFoundError struct{}
func (e *ElementNotFoundError) Error() string {
return "cannot find element"
}
// NotFoundSleeper returns ErrElementNotFound on the first call.
func NotFoundSleeper() utils.Sleeper {
return func(context.Context) error {
return &ElementNotFoundError{}
}
}
// ObjectNotFoundError error.
type ObjectNotFoundError struct {
*proto.RuntimeRemoteObject
}
func (e *ObjectNotFoundError) Error() string {
return fmt.Sprintf("cannot find object: %s", utils.MustToJSON(e))
}
// Is interface.
func (e *ObjectNotFoundError) Is(err error) bool { _, ok := err.(*ObjectNotFoundError); return ok }
// EvalError error.
type EvalError struct {
*proto.RuntimeExceptionDetails
}
func (e *EvalError) Error() string {
exp := e.Exception
return fmt.Sprintf("eval js error: %s %s", exp.Description, exp.Value)
}
// Is interface.
func (e *EvalError) Is(err error) bool { _, ok := err.(*EvalError); return ok }
// NavigationError error.
type NavigationError struct {
Reason string
}
func (e *NavigationError) Error() string {
return "navigation failed: " + e.Reason
}
// Is interface.
func (e *NavigationError) Is(err error) bool { _, ok := err.(*NavigationError); return ok }
// PageCloseCanceledError error.
type PageCloseCanceledError struct{}
func (e *PageCloseCanceledError) Error() string {
return "page close canceled"
}
// NotInteractableError error. Check the doc of Element.Interactable for details.
type NotInteractableError struct{}
func (e *NotInteractableError) Error() string {
return "element is not cursor interactable"
}
// InvisibleShapeError error.
type InvisibleShapeError struct {
*Element
}
// Error ...
func (e *InvisibleShapeError) Error() string {
return fmt.Sprintf("element has no visible shape or outside the viewport: %s", e.String())
}
// Is interface.
func (e *InvisibleShapeError) Is(err error) bool { _, ok := err.(*InvisibleShapeError); return ok }
// Unwrap ...
func (e *InvisibleShapeError) Unwrap() error {
return &NotInteractableError{}
}
// CoveredError error.
type CoveredError struct {
*Element
}
// Error ...
func (e *CoveredError) Error() string {
return fmt.Sprintf("element covered by: %s", e.String())
}
// Unwrap ...
func (e *CoveredError) Unwrap() error {
return &NotInteractableError{}
}
// Is interface.
func (e *CoveredError) Is(err error) bool { _, ok := err.(*CoveredError); return ok }
// NoPointerEventsError error.
type NoPointerEventsError struct {
*Element
}
// Error ...
func (e *NoPointerEventsError) Error() string {
return fmt.Sprintf("element's pointer-events is none: %s", e.String())
}
// Unwrap ...
func (e *NoPointerEventsError) Unwrap() error {
return &NotInteractableError{}
}
// Is interface.
func (e *NoPointerEventsError) Is(err error) bool { _, ok := err.(*NoPointerEventsError); return ok }
// PageNotFoundError error.
type PageNotFoundError struct{}
func (e *PageNotFoundError) Error() string {
return "cannot find page"
}
// NoShadowRootError error.
type NoShadowRootError struct {
*Element
}
// Error ...
func (e *NoShadowRootError) Error() string {
return fmt.Sprintf("element has no shadow root: %s", e.String())
}
// Is interface.
func (e *NoShadowRootError) Is(err error) bool { _, ok := err.(*NoShadowRootError); return ok }