def scroll_root_element(self, element_or_selector): # noqa if isinstance(element_or_selector, basestring): self._set_scroll_root_selector(By.CSS_SELECTOR, element_or_selector) elif is_list_or_tuple(element_or_selector): by, value = element_or_selector self._set_scroll_root_selector(by, value) elif is_webelement(element_or_selector): self._set_scroll_root_element(element_or_selector) return self
def _floating_provider_from(self, region, bounds): if is_webelement(region): logger.debug("floating: FloatingRegionByElement") return FloatingRegionByElement(region, bounds) if isinstance(region, basestring): logger.debug("floating: FloatingRegionByCssSelector") return FloatingRegionBySelector(By.CSS_SELECTOR, region, bounds) if is_list_or_tuple(region): by, value = region logger.debug("floating: FloatingRegionBySelector") return FloatingRegionBySelector(by, value, bounds) return super(SeleniumCheckSettings, self)._floating_provider_from(region, bounds)
def _region_provider_from(self, region, method_name): if isinstance(region, basestring): logger.debug( "{name}: RegionByCssSelector".format(name=method_name)) return RegionBySelector(By.CSS_SELECTOR, region) if is_list_or_tuple(region): by, val = region logger.debug("{name}: RegionBySelector".format(name=method_name)) return RegionBySelector(by, val) elif is_webelement(region): logger.debug("{name}: RegionByElement".format(name=method_name)) return RegionByElement(region) return super(SeleniumCheckSettings, self)._region_provider_from(region, method_name)
def region(self, region): # noqa # type:(...) -> SeleniumCheckSettings if isinstance(region, Region): self.values.target_region = region elif is_list_or_tuple(region): by, value = region self.values.target_selector = [by, value] elif isinstance(region, basestring): self.values.target_selector = [By.CSS_SELECTOR, region] elif is_webelement(region): self.values.target_element = region else: raise TypeError("region method called with argument of unknown type!") return self
def _accessibility_provider_from(self, region, accessibility_region_type): if is_webelement(region): logger.debug("accessibility: AccessibilityRegionByElement") return AccessibilityRegionByElement(region, accessibility_region_type) if isinstance(region, basestring): logger.debug("accessibility: AccessibilityRegionBySelector") return AccessibilityRegionBySelector(By.CSS_SELECTOR, region, accessibility_region_type) if is_list_or_tuple(region): by, value = region logger.debug("accessibility: AccessibilityRegionBySelector") return AccessibilityRegionBySelector(by, value, accessibility_region_type) return super(SeleniumCheckSettings, self)._accessibility_provider_from( region, accessibility_region_type)
def frame(self, frame): # noqa # type:(...) -> SeleniumCheckSettings fl = FrameLocator() if isinstance(frame, int): fl.frame_index = frame elif isinstance(frame, basestring): fl.frame_name_or_id = frame elif is_webelement(frame): fl.frame_element = frame elif is_list_or_tuple(frame): by, value = frame fl.frame_selector = [by, value] else: raise TypeError("frame method called with argument of unknown type!") self.values.frame_chain.append(fl) return self