def value(self, expected: str, ignore_case=False) -> ElementCondition: if ignore_case: warnings.warn('ignore_case syntax is experimental and might change in future', FutureWarning) return ElementCondition.raise_if_not_actual( f"has attribute '{name}' with value '{expected}'", attribute_value, predicate.equals(expected, ignore_case))
def browser_has_js_returned(expected: Any, script: str, *args) -> Condition[SeleneDriver]: def script_result(browser: SeleneDriver): return browser().execute_script(script, *args) return Condition.raise_if_not_actual( f'has the ```{script}``` script returned {expected}', script_result, predicate.equals(expected))
def value(self, expected: str) -> Condition[Element]: return ElementCondition.raise_if_not_actual( f"has css property '{name}' with value '{expected}'", property_value, predicate.equals(expected), )
def value(self, expected: str) -> Condition[SeleneElement]: return Condition.raise_if_not_actual( f"has attribute '{name}' with value '{expected}'", attribute_value, predicate.equals(expected))