Documentation
¶
Index ¶
- type Browser
- func (b *Browser) Close() error
- func (b *Browser) CloseTab() error
- func (b *Browser) CloseTabByID(targetID target.ID) error
- func (b *Browser) ConnectToTab(targetID target.ID) (*Browser, error)
- func (b *Browser) Context() context.Context
- func (b *Browser) GetTargetID() target.ID
- func (b *Browser) ListTabs() ([]Tab, error)
- func (b *Browser) NewPage() *Page
- func (b *Browser) OpenTab(url string) (*Browser, error)
- func (b *Browser) Run(actions ...chromedp.Action) error
- type BrowserOptions
- type Page
- func (p *Page) AddScriptToEvaluateOnNewDocument(jsCode string) error
- func (p *Page) Back() error
- func (p *Page) ClearInput(selector string) error
- func (p *Page) Click(selector string) error
- func (p *Page) ClickElementWithCtrl(selector string) error
- func (p *Page) ClickOnNewTab(selector string) error
- func (p *Page) ClickWithScroll(selector string) error
- func (p *Page) ClickXY(x, y float64) error
- func (p *Page) Evaluate(expression string, result interface{}) error
- func (p *Page) FastCheckElement(selector string) bool
- func (p *Page) FastWaitForElement(selector string, maxWaitMs int) error
- func (p *Page) Focus(selector string) error
- func (p *Page) Forward() error
- func (p *Page) GetElementAttributes(nodeID cdp.NodeID) (map[string]string, error)
- func (p *Page) GetElementBox(selector string) (*dom.BoxModel, error)
- func (p *Page) HumanMouseMove(x, y float64) error
- func (p *Page) HumanScroll(x, y float64) error
- func (p *Page) KeyEvent(key string) error
- func (p *Page) MouseClick(x, y float64, button input.MouseButton) error
- func (p *Page) MouseClickCtrl(x, y float64) error
- func (p *Page) MouseMove(x, y float64) error
- func (p *Page) MouseWheel(x, y, deltaY float64) error
- func (p *Page) Navigate(url string) error
- func (p *Page) NavigateAndWait(url string, waitVisible string) error
- func (p *Page) Nodes(selector string) ([]*cdp.Node, error)
- func (p *Page) NodesAll(selector string) ([]*cdp.Node, error)
- func (p *Page) ReadyState() (string, error)
- func (p *Page) Reload() error
- func (p *Page) RunActions(actions ...chromedp.Action) error
- func (p *Page) Screenshot(buf *[]byte) error
- func (p *Page) ScrollIntoView(selector string) error
- func (p *Page) ScrollPage(scrollDownTimes, scrollUpTimes int) error
- func (p *Page) SendKeys(selector, text string) error
- func (p *Page) SendKeysChar(selector, text string) error
- func (p *Page) SendKeysEnter(selector string) error
- func (p *Page) SetGeolocation(lat, lng float64) error
- func (p *Page) SetUserAgent(userAgent, platform string) error
- func (p *Page) SetViewport(width, height int64, mobile bool) error
- func (p *Page) Text(selector string, result *string) error
- func (p *Page) Title(result *string) error
- func (p *Page) URL(result *string) error
- func (p *Page) Value(selector string, result *string) error
- func (p *Page) WaitForReadyState(state string, timeout time.Duration) error
- func (p *Page) WaitReady(selector string) error
- func (p *Page) WaitVisible(selector string) error
- type Tab
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Browser ¶
type Browser struct {
// contains filtered or unexported fields
}
Browser представляет браузер с поддержкой fingerprint injection
func NewBrowser ¶
func NewBrowser(ctx context.Context, options *BrowserOptions) (*Browser, error)
NewBrowser создает новый экземпляр браузера
func NewRemoteBrowser ¶
func NewRemoteBrowser(ctx context.Context, remoteURL string, options *BrowserOptions) (*Browser, error)
NewRemoteBrowser создает подключение к удаленному браузеру Если не указан TargetID, создается новая вкладка
func NewRemoteBrowserManager ¶
func NewRemoteBrowserManager(ctx context.Context, remoteURL string, options *BrowserOptions) (*Browser, error)
NewRemoteBrowserManager создает подключение к удаленному браузеру БЕЗ создания новой вкладки Используется для управления браузером (получение списка вкладок, создание новых и т.д.)
func (*Browser) CloseTabByID ¶
CloseTabByID закрывает вкладку по её ID Использует временный контекст для закрытия вкладки через CDP
func (*Browser) ConnectToTab ¶
ConnectToTab подключается к существующей вкладке по ID
func (*Browser) GetTargetID ¶
GetTargetID возвращает ID текущей вкладки
type BrowserOptions ¶
type BrowserOptions struct {
// Headless режим
Headless bool
// UserDataDir для сохранения данных браузера
UserDataDir string
// Fingerprint для инжектирования
Fingerprint *fp.Fingerprint
// Stealth режим (дополнительные флаги для скрытия автоматизации)
Stealth bool
// Timeout для операций
Timeout time.Duration
// Дополнительные флаги Chrome
Flags []string
// Window размеры
WindowWidth int
WindowHeight int
// RemoteURL адрес удаленного браузера (например, "http://127.0.0.1:17986")
// Если указан, будет использован NewRemoteAllocator вместо NewExecAllocator
RemoteURL string
// TargetID ID существующей вкладки для подключения
// Если указан, будет подключение к существующей вкладке вместо создания новой
TargetID target.ID
}
BrowserOptions содержит опции для создания браузера
func DefaultBrowserOptions ¶
func DefaultBrowserOptions() *BrowserOptions
DefaultBrowserOptions возвращает опции по умолчанию
type Page ¶
type Page struct {
// contains filtered or unexported fields
}
Page представляет страницу браузера
func (*Page) AddScriptToEvaluateOnNewDocument ¶
AddScriptToEvaluateOnNewDocument добавляет скрипт, который выполняется на каждой новой странице
func (*Page) ClearInput ¶
ClearInput очищает поле ввода
func (*Page) ClickElementWithCtrl ¶
ClickElementWithCtrl выполняет Ctrl+Click по элементу (открытие в новой вкладке)
func (*Page) ClickOnNewTab ¶
ClickOnNewTab выполняет Ctrl+Click по элементу для открытия в новой вкладке Прокручивает к элементу и кликает с модификатором Ctrl
func (*Page) ClickWithScroll ¶
ClickWithScroll прокручивает к элементу и кликает по нему
func (*Page) FastCheckElement ¶
FastCheckElement быстро проверяет наличие элемента без ожидания (с коротким таймаутом)
func (*Page) FastWaitForElement ¶
FastWaitForElement быстро ждет появления элемента с коротким таймаутом
func (*Page) GetElementAttributes ¶
GetElementAttributes получает атрибуты элемента по NodeID
func (*Page) GetElementBox ¶
GetElementBox получает координаты элемента
func (*Page) HumanMouseMove ¶
HumanMouseMove имитирует человеческое движение мыши
func (*Page) HumanScroll ¶
HumanScroll имитирует человеческую прокрутку
func (*Page) MouseClick ¶
func (p *Page) MouseClick(x, y float64, button input.MouseButton) error
MouseClick выполняет клик мыши по координатам
func (*Page) MouseClickCtrl ¶
MouseClickCtrl выполняет Ctrl+Click по координатам (открытие в новой вкладке)
func (*Page) MouseWheel ¶
MouseWheel прокручивает колесом мыши
func (*Page) NavigateAndWait ¶
NavigateAndWait переходит по URL и ждет загрузки
func (*Page) ReadyState ¶
ReadyState получает состояние готовности страницы
func (*Page) RunActions ¶
RunActions выполняет произвольные действия chromedp
func (*Page) Screenshot ¶
Screenshot делает скриншот страницы
func (*Page) ScrollIntoView ¶
ScrollIntoView прокручивает страницу к элементу
func (*Page) ScrollPage ¶
ScrollPage прокручивает страницу для загрузки всех элементов
func (*Page) SendKeysChar ¶
SendKeysChar отправляет текст посимвольно (имитация человеческого ввода)
func (*Page) SendKeysEnter ¶
SendKeysEnter отправляет Enter в элемент
func (*Page) SetGeolocation ¶
SetGeolocation устанавливает геолокацию
func (*Page) SetUserAgent ¶
SetUserAgent устанавливает User-Agent и платформу
func (*Page) SetViewport ¶
SetViewport устанавливает размеры окна просмотра
func (*Page) WaitForReadyState ¶
WaitForReadyState ждет определенного состояния готовности страницы
func (*Page) WaitVisible ¶
WaitVisible ждет появления элемента