Skip to content

Instantly share code, notes, and snippets.

@boatcoder
Last active Sep 29, 2020
Embed
What would you like to do?
A better version of a BasePageElement that returns the element
from selenium.webdriver.support.ui import WebDriverWait
class BasePageElement(object):
"""Base page class that is initialized on every page object class."""
def __set__(self, obj, value):
"""Sets the text to the value supplied"""
driver = obj.driver
WebDriverWait(driver, 100).until(
lambda driver: driver.find_element_by_name(self.locator))
driver.find_element_by_name(self.locator).clear()
driver.find_element_by_name(self.locator).send_keys(value)
def __get__(self, obj, owner):
"""Gets the text of the specified object"""
driver = obj.driver
WebDriverWait(driver, 100).until(
lambda driver: driver.find_element_by_name(self.locator))
return driver.find_element_by_name(self.locator) # Return the element instead of the "value"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment