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, loctypes: Union[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,
loctypes: Union[list[str], set[str]] = {By.XPATH, By.CSS_SELECTOR}
) -> bool:
"""
check_locator - check locator if of type in typelist
Args:
locator (SeleniumLocator): SeleniumLocator object
loctypes (Union[list[str], set[str], optional): list of locator types. Defaults to [By.XPATH, By.CSS_SELECTOR].
Returns:
bool: check result
"""
return check_locatorlist([locator], loctypes)
check_locatorlist(loclist: list[SeleniumLocator], loctypes: Union[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 | 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: list[SeleniumLocator],
loctypes: Union[list[str], set[str]] = {By.XPATH, By.CSS_SELECTOR}
) -> bool:
"""
check_locatorlist - check locator list if of type in typelist
Args:
loclist(list[SeleniumLocator]): 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
for locator in loclist:
if locator is not None:
check = check and (locator.by in loctypes)
return check