> For the complete documentation index, see [llms.txt](https://tvn.gitbook.io/selenium-java/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tvn.gitbook.io/selenium-java/page-object-model/what-is.md).

# What is?

* Page Object Model is a design pattern to create Object Repository for web UI elements.
* Under this model, for each web page in the application there should be corresponding page class.
* This Page class will find the WebElements of that web page and also contains Page methods which perform operations on those WebElements.
* Name of these methods should be given as per the task they are performing i.e., if a loader is waiting for payment gateway to be appear, POM method name can be waitForPaymentScreenDisplay().

**HOW TO USE**<br>

* Use POM for exposing elements from a page
* Use POM for exposing an operation on a page

<figure><img src="https://2241592081-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_xhg-ilL7O4aNQofMy%2Fuploads%2FdV3WSq4IbnDcX0NJciIp%2FScreenshot%202023-09-09%20at%2011.13.04.png?alt=media&amp;token=061ae7e8-b918-4f28-917e-0a5e20e7027c" alt=""><figcaption></figcaption></figure>

{% embed url="<https://youtu.be/P25N9pwwD78>" %}
