--- sidebar_label: Target --- # Target class Target represents a [CDP target](https://chromedevtools.github.io/devtools-protocol/tot/Target/). In CDP a target is something that can be debugged such a frame, a page or a worker. #### Signature: ```typescript export declare abstract class Target ``` ## Remarks The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Target` class. ## Methods | Method | Modifiers | Description | | ------------------------------------------------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [asPage()](./puppeteer.target.aspage.md) | | Forcefully creates a page for a target of any type. It is useful if you want to handle a CDP target of type other as a page. If you deal with a regular page target, use [Target.page()](./puppeteer.target.page.md). | | [browser()](./puppeteer.target.browser.md) | | Get the browser the target belongs to. | | [browserContext()](./puppeteer.target.browsercontext.md) | | Get the browser context the target belongs to. | | [createCDPSession()](./puppeteer.target.createcdpsession.md) | | Creates a Chrome Devtools Protocol session attached to the target. | | [opener()](./puppeteer.target.opener.md) | | Get the target that opened this target. Top-level targets return null. | | [page()](./puppeteer.target.page.md) | | If the target is not of type "page", "webview" or "background_page", returns null. | | [type()](./puppeteer.target.type.md) | | Identifies what kind of target this is. | | [url()](./puppeteer.target.url.md) | | | | [worker()](./puppeteer.target.worker.md) | | If the target is not of type "service_worker" or "shared_worker", returns null. |