Best Python code snippet using SeleniumBase
multiselect_widget.py
Source:multiselect_widget.py
...13 _include_item_button_locator = (By.CSS_SELECTOR, '.include-exclude .action-include')14 _remove_item_button_locator = (By.CSS_SELECTOR, '.include-exclude .action-exclude')15 @property16 def available_items(self):17 self.wait_for_element_not_present(*self._loading_available_items_locator)18 return [Item(self.base_url, self.selenium, web_element)19 for web_element in self.find_elements(*self._available_item_locator)]20 @property21 def included_items(self):22 self.wait_for_element_not_present(*self._loading_included_items_locator)23 return [Item(self.base_url, self.selenium, web_element)24 for web_element in self.find_elements(*self._included_item_locator)]25 def include_items(self, item_names_list):26 # wait till available and included items are loaded27 self.wait_for_element_not_present(*self._loading_available_items_locator)28 self.wait_for_element_not_present(*self._loading_included_items_locator)29 include_button = self.find_element(*self._include_item_button_locator)30 items_to_add = [item31 for name in reversed(item_names_list)32 for item in self.available_items33 if name == item.name]34 for item in items_to_add:35 item.select()36 include_button.click()37 def reorder_included_items(self):38 self.wait_for_element_not_present(*self._loading_included_items_locator)39 sorter = self.find_element(*self._sort_included_items_by_name_locator)40 # requires two clicks to reverse sorting41 sorter.click()42 sorter.click()43 def remove_all_included_items(self):44 self.wait_for_element_not_present(*self._loading_included_items_locator)45 remove_button = self.find_element(*self._remove_item_button_locator)46 for item in self.included_items:47 item.select()48 remove_button.click()49 @property50 def is_present(self):51 return self.is_element_present(*self._multiselect_widget_locator)52 @property53 def is_visible(self):54 return self.is_element_visible(*self._multiselect_widget_locator)55class Item(PageRegion):56 _select_item_locator = (By.CSS_SELECTOR, '.bulk-type')57 _item_title_locator = (By.CSS_SELECTOR, '.title')58 @property...
wait_for_element_not_present.py
Source:wait_for_element_not_present.py
...4def test(data):5 browser = actions.get_browser()6 actions.navigate(data.env.url+'dynamic-elements/?delay=3')7 actions.verify_element_present('#button-six')8 browser.wait_for_element_not_present('#button-six', timeout=10)9 actions.verify_element_not_present('#button-six')10 # when element does not exist no exception is thrown11 browser.wait_for_element_not_present('#this-element-does-not-exist', timeout=3)12 # pass a webelement object to the method13 actions.navigate(data.env.url + 'dynamic-elements/?delay=5')14 actions.verify_element_present('#button-six')15 button = browser.find('#button-six', timeout=0)16 browser.wait_for_element_not_present(button, timeout=10)17 # wait times out and element is still present18 actions.navigate(data.env.url + 'elements/')19 msg = "Timeout waiting for element #button-one to not be present"20 with expected_exception(Exception, msg):...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!