mirror of
				https://github.com/MontFerret/ferret.git
				synced 2025-10-30 23:37:40 +02:00 
			
		
		
		
	| @@ -34,6 +34,8 @@ func NewLib() map[string]core.Function { | ||||
| 		"INNER_TEXT_ALL":   InnerTextAll, | ||||
| 		"SELECT":           Select, | ||||
| 		"SCREENSHOT":       Screenshot, | ||||
| 		"SCROLL_TOP":       ScrollTop, | ||||
| 		"SCROLL_BOTTOM":    ScrollBottom, | ||||
| 		"PAGINATION":       Pagination, | ||||
| 		"PDF":              PDF, | ||||
| 		"DOWNLOAD":         Download, | ||||
|   | ||||
							
								
								
									
										56
									
								
								pkg/stdlib/html/scroll.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								pkg/stdlib/html/scroll.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | ||||
| package html | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"github.com/MontFerret/ferret/pkg/html/dynamic" | ||||
| 	"github.com/MontFerret/ferret/pkg/runtime/core" | ||||
| 	"github.com/MontFerret/ferret/pkg/runtime/values" | ||||
| ) | ||||
|  | ||||
| // ScrollTop Scrolls the document's window to its top. | ||||
| // @param doc (Document) - Target document. | ||||
| func ScrollTop(_ context.Context, args ...core.Value) (core.Value, error) { | ||||
| 	err := core.ValidateArgs(args, 1, 1) | ||||
|  | ||||
| 	if err != nil { | ||||
| 		return values.None, err | ||||
| 	} | ||||
|  | ||||
| 	err = core.ValidateType(args[0], core.HTMLDocumentType) | ||||
|  | ||||
| 	if err != nil { | ||||
| 		return values.None, err | ||||
| 	} | ||||
|  | ||||
| 	doc, ok := args[0].(*dynamic.HTMLDocument) | ||||
|  | ||||
| 	if !ok { | ||||
| 		return values.None, core.Errors(core.ErrInvalidType, ErrNotDynamic) | ||||
| 	} | ||||
|  | ||||
| 	return values.None, doc.ScrollTop() | ||||
| } | ||||
|  | ||||
| // ScrollTop Scrolls the document's window to its bottom. | ||||
| // @param doc (Document) - Target document. | ||||
| func ScrollBottom(_ context.Context, args ...core.Value) (core.Value, error) { | ||||
| 	err := core.ValidateArgs(args, 1, 1) | ||||
|  | ||||
| 	if err != nil { | ||||
| 		return values.None, err | ||||
| 	} | ||||
|  | ||||
| 	err = core.ValidateType(args[0], core.HTMLDocumentType) | ||||
|  | ||||
| 	if err != nil { | ||||
| 		return values.None, err | ||||
| 	} | ||||
|  | ||||
| 	doc, ok := args[0].(*dynamic.HTMLDocument) | ||||
|  | ||||
| 	if !ok { | ||||
| 		return values.None, core.Errors(core.ErrInvalidType, ErrNotDynamic) | ||||
| 	} | ||||
|  | ||||
| 	return values.None, doc.ScrollBottom() | ||||
| } | ||||
		Reference in New Issue
	
	Block a user