Cookiecutter template for Thoughtful pip package
Project description
T_page_object 📦
A Python package for taking an object oriented approach when interacting with web pages and their elements .
📑 Table of Contents
Overview
This package provides various modules and classes for creating portals, web pages and web elements.
There are also usable web elements that have commonly used methods built in.
Installation
pip install t-page-object
Usage Example
For detailed examples, please refer to our quick start page.
API Documentation
Base_app
Module: t_page_object.base_app
Module for BaseApp class.
- Class:
BaseApp
Base class for application or portal objects and their configuration.
- Method:
open_browser
Open browser and set Selenium options.
- Method:
Base_element
Module: t_page_object.base_element
Contains the BaseElement class.
- Class:
BaseElement
This is an Element used to build each Page.
- Method:
format_xpath
- Method:
wait_element_load
- Method:
Base_page
Module: t_page_object.base_page
Contains the BasePage class which is the parent class for all page objects in the project.
- Class:
BasePage
Base page class for all page objects in the project.
-
Method:
get_element_from_shadow_roots
Get element from nested shadow roots.
Args: roots: The css locators of the shadow root elements, in hierarchal order. element_css: The css locator of the element to find. Returns: The WebElement of the element found.
-
Method:
visit
Navigate to the base page URL.
-
Method:
wait_for_new_window_and_switch
Function for waiting and switching to new window.
Args: old_window_handles: The list of window handles before the new window is opened. Returns: The new window handle.
-
Method:
wait_page_load
Wait for the page to load by waiting for the verification element to load.
timeout: The maximum time to wait for the element to be present, in seconds.
-
Bot_config
Module: t_page_object.bot_config
Congifuration module for the t_page_object package.
- Class:
BotConfig
Class for configuration.
Elements
Module: t_page_object.elements
Module for all base ui components.
Module: t_page_object.elements.button_element
Button element module.
- Class:
ButtonElement
Standard button element.
- Method:
click
- Method:
click_button
- Method:
click_button_if_visible
- Method:
click_button_when_visible
- Method:
click_element
- Method:
click_element_if_visible
- Method:
click_element_when_clickable
- Method:
click_element_when_visible
- Method:
Module: t_page_object.elements.checkox_element
Checkbox element module.
- Class:
CheckboxElement
Checkbox element.
- Method:
select
- Method:
Module: t_page_object.elements.container_element
Class for container elements.
- Class:
ContainerElement
Container element. Used to hold multiple text elements.
-
Method:
get_text_values
Get text for each element with id matching class attribute.
Args: cls (Type[TO]): The class to use for the object. Returns: Instance of input class with text values.
-
Method:
set_text_values
Sets text for each element with id matching class attribute.
Args: cls (Type[TO]): The object to use for the text values.
-
Module: t_page_object.elements.dropdown_element
Dropdown element module.
- Class:
DropdownElement
Standard dropdown element.
- Method:
click_and_select_option
- Method:
type_and_enter
- Method:
Module: t_page_object.elements.iframe_element
Frame element module.
- Class:
IFrameElement
Class for frame element model.
- Method:
select_iframe
- Method:
select_nested_iframe
- Method:
unselect_iframe
- Method:
Module: t_page_object.elements.image_element
Image element module.
- Class:
ImageElement
Image element.
- Method:
download_image
- Method:
Module: t_page_object.elements.input_element
Input element module.
- Class:
InputElement
Input element.
- Method:
click_and_input_text
- Method:
get_input_value
- Method:
input_text_and_check
- Method:
Module: t_page_object.elements.table_element
Table element module.
- Class:
TableElement
Table element.
Module: t_page_object.elements.text_element
This module contains the TextElement class for the text element model.
- Class:
TextElement
Input element.
- Method:
get_clean_text
- Method:
Selenium_manager
Module: t_page_object.selenium_manager
Create a singleton manager to ensure a single instance of Selenium.
- Class:
SeleniumManager
Singleton manager to ensure a single instance of Selenium.
T_requests
Module: t_page_object.t_requests
A wrapper module for making HTTP requests using httpx.
-
Class:
Requests
A wrapper class for making HTTP requests using httpx.
This class provides methods to make HTTP GET, POST, PUT, and DELETE requests with support for setting headers, cookies, and user agent. It also includes error handling.
Attributes: default_headers (dict): The default headers to include in the requests. cookies (dict): The cookies to include in the requests.
-
Method:
delete
Sends a DELETE request to the specified URL with optional headers and cookies.
Args: url: A string representing the request URL. headers: A dictionary containing the request headers. Defaults to an empty dictionary. cookies: A dictionary containing the request cookies. Defaults to an empty dictionary. Returns: The response content if the request is successful
-
Method:
get
Sends a GET request to the specified URL with optional headers, cookies, and parameters.
Args: url: A string representing the request URL. headers: A dictionary containing the request headers. Defaults to an empty dictionary. cookies: A dictionary containing the request cookies. Defaults to an empty dictionary. params: A dictionary containing the request parameters. Defaults to an empty dictionary. Returns: The response content if the request is successful.
-
Method:
get_response_data
Get the response data.
Args: url: A string representing the request URL. data: The data to send in the request body. Defaults to None. json: The JSON data to send in the request body. Defaults to None. headers: A dictionary containing the request headers. Defaults to an empty dictionary. cookies: A dictionary containing the request cookies. Defaults to an empty dictionary. params: A dictionary containing the request parameters. Defaults to an empty dictionary. method: A string representing the request method. Defaults to "GET". Returns: The response object.
-
Method:
post
Sends a POST request to the specified URL with optional data, JSON, headers, and cookies.
Args: url: A string representing the request URL. data: The data to send in the request body. Defaults to None. json: The JSON data to send in the request body. Defaults to None. headers: A dictionary containing the request headers. Defaults to an empty dictionary. cookies: A dictionary containing the request cookies. Defaults to an empty dictionary. Returns: The response content if the request is successful.
-
Method:
put
Sends a PUT request to the specified URL with optional data, JSON, headers, and cookies.
Args: url: A string representing the request URL. data: The data to send in the request body. Defaults to None. json: The JSON data to send in the request body. Defaults to None. headers: A dictionary containing the request headers. Defaults to an empty dictionary. cookies: A dictionary containing the request cookies. Defaults to an empty dictionary. Returns: The response content if the request is successful
-
Method:
remove_headers
Removes the default headers.
Args: key: The key to remove from the headers.
-
Method:
set_cookies
Updates the cookies with the provided cookies.
Args: cookies: A dictionary containing the cookies to update.
-
Method:
set_cookies_to_session
Updates the cookies with the provided cookies.
Args: cookies: A dictionary containing the cookies to update.
-
Method:
set_headers
Updates the default headers with the provided headers.
Args: headers: A dictionary containing the headers to update.
-
Method:
set_user_agent
Sets the User-Agent header to the provided user agent string.
Args: user_agent: A string representing the user agent to set.
-
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file t_page_object-0.1.7.tar.gz
.
File metadata
- Download URL: t_page_object-0.1.7.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36de85b6945d5b41bddeae825687be9e16024a0aec5bc4419d0670d85483e26b |
|
MD5 | 0caf35505b361d32188754642329c6eb |
|
BLAKE2b-256 | bc51070139ca67fc942a9252831ee72de097cb60197fa4b44651cabf3d315957 |