A Page Object encapsulates the behavior of a web page. In single-page applications, we have views. For the sake of convenience, if we say "web page," we will mean both full page and view. There is one Page Object per web page that abstracts the page's logic to the outside. That means the interaction with the web page is encapsulated in the Page Object. The e2e tests operate on Page Objects. Take an example from a web shop: the Page Objects could be written as classes: ProductPage, ShoppingCartPage, PaymentPage, and so on.
A Page Element (aka HTML Wrapper) is another subdivision of a web page. It represents an HTML element and encapsulates the logic for the interaction with this element. For instance, an HTML Wrapper for DatePicker can provide the API methods such as "set a date into the input field," "open the calendar popup," and "choose given day in the calendar popup". An HTML Wrapper can be composite...