[Home](./index.md) > [puppeteer](./puppeteer.md) > [Frame](./puppeteer.frame.md) > [waitForXPath](./puppeteer.frame.waitforxpath.md)
## Frame.waitForXPath() method
Signature:
```typescript
waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| xpath | string | the XPath expression to wait for. |
| options | [WaitForSelectorOptions](./puppeteer.waitforselectoroptions.md) | options to configure the visiblity of the element and how long to wait before timing out. |
Returns:
Promise<[ElementHandle](./puppeteer.elementhandle.md) \| null>
## Remarks
Wait for the `xpath` to appear in page. If at the moment of calling the method the `xpath` already exists, the method will return immediately. If the xpath doesn't appear after the `timeout` milliseconds of waiting, the function will throw.
For a code example, see the example for [Frame.waitForSelector()](./puppeteer.frame.waitforselector.md). That function behaves identically other than taking a CSS selector rather than an XPath.