Locatorutils
locatorutils ¶
module providing Selenium locator tools
SeleniumLocator ¶
parameterizedSeleniumLocator(by: By, value: str) ¶
parameterizedSeleniumLocator - parameterized SeleniumLocator class
Source code in src/utils_seleniumxp/locatorutils.py
by: By property ¶
is_parameterized: bool property ¶
parameters: list[str] property ¶
value: str property ¶
replace_parameters(**kwargs) -> SeleniumLocator ¶
Source code in src/utils_seleniumxp/locatorutils.py
def replace_parameters(self, **kwargs) -> SeleniumLocator:
if self.is_parameterized:
if len(kwargs) == 0:
err_msg = f'Missing keyword arguments: {self._parameters}'
raise ValueError(err_msg)
for param in self._parameters:
if param not in kwargs:
err_msg = f'Missing keyword argument: {param}'
raise ValueError(err_msg)
return SeleniumLocator(self._by, self._value.format(**kwargs))
else:
return SeleniumLocator(self._by, self._value)
parselSelectorExtension ¶
parselSelectorExtension - parsel selector wrapping extension to unify calling for the selector types CSS and XPATH
css_or_xpath(locator: SeleniumLocator) ¶
Source code in src/utils_seleniumxp/locatorutils.py
SeleniumLocatorCSS(value: str) ¶
SeleniumLocatorCSS - factory function for CSS-type SeleniumLocator class object
SeleniumLocatorXPATH(value: str) ¶
SeleniumLocatorXPATH - factory function for XPATH-type SeleniumLocator class object
check_locator(locator: SeleniumLocator | None, loctypes: list[str] | set[str] = {By.XPATH, By.CSS_SELECTOR}) -> bool ¶
check_locator - check locator if of type in typelist
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
locator | SeleniumLocator | SeleniumLocator object | required |
loctypes | Union[list[str], set[str] | list of locator types. Defaults to [By.XPATH, By.CSS_SELECTOR]. | {XPATH, CSS_SELECTOR} |
Returns:
| Name | Type | Description |
|---|---|---|
bool | bool | check result |
Source code in src/utils_seleniumxp/locatorutils.py
def check_locator(
locator: SeleniumLocator | None,
loctypes: list[str] | set[str] = {By.XPATH, By.CSS_SELECTOR}
) -> bool:
"""
check_locator - check locator if of type in typelist
Args:
locator (SeleniumLocator, optional): SeleniumLocator object
loctypes (Union[list[str], set[str], optional): list of locator types. Defaults to [By.XPATH, By.CSS_SELECTOR].
Returns:
bool: check result
"""
if locator is not None:
return check_locatorlist([locator], loctypes)
else:
return True
check_locatorlist(loclist: SeleniumLocator | list[SeleniumLocator] | None, loctypes: list[str] | set[str] = {By.XPATH, By.CSS_SELECTOR}) -> bool ¶
check_locatorlist - check locator list if of type in typelist
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
loclist | Union[SeleniumLocator, list[SeleniumLocator] | list of SeleniumLocator objects | required |
loctypes | Union[list[str], set[str] | list of locator types. Defaults to [By.XPATH, By.CSS_SELECTOR]. | {XPATH, CSS_SELECTOR} |
Returns:
| Name | Type | Description |
|---|---|---|
bool | bool | check result |
Source code in src/utils_seleniumxp/locatorutils.py
def check_locatorlist(
loclist: SeleniumLocator | list[SeleniumLocator] | None,
loctypes: list[str] | set[str] = {By.XPATH, By.CSS_SELECTOR}
) -> bool:
"""
check_locatorlist - check locator list if of type in typelist
Args:
loclist (Union[SeleniumLocator, list[SeleniumLocator], optional): list of SeleniumLocator objects
loctypes (Union[list[str], set[str], optional): list of locator types. Defaults to [By.XPATH, By.CSS_SELECTOR].
Returns:
bool: check result
"""
check = True
if loclist is not None:
if not isinstance(loclist, list):
loclist = [loclist]
for locator in loclist:
if locator is not None:
check = check and (locator.by in loctypes)
return check