Skip to content

Instantly share code, notes, and snippets.

@bernardobarreto
Created November 28, 2012 21:49
Show Gist options
  • Select an option

  • Save bernardobarreto/4164863 to your computer and use it in GitHub Desktop.

Select an option

Save bernardobarreto/4164863 to your computer and use it in GitHub Desktop.
splinter_webdriver_refactoring.diff
diff --git a/splinter/driver/webdriver/__init__.py b/splinter/driver/webdriver/__init__.py
index 86622b9..e35ae2b 100644
--- a/splinter/driver/webdriver/__init__.py
+++ b/splinter/driver/webdriver/__init__.py
@@ -60,23 +60,22 @@ class BaseWebDriver(DriverAPI):
def evaluate_script(self, script):
return self.driver.execute_script("return %s" % script)
- def is_element_present(self, finder, selector, wait_time=None):
+ def check_element_presence(self, finder, selector, wait_time, should_present):
wait_time = wait_time or self.wait_time
end_time = time.time() + wait_time
while time.time() < end_time:
- if finder(selector):
+ if finder(selector) and should_present:
+ return True
+ elif not finder(selector) and not should_present:
return True
return False
- def is_element_not_present(self, finder, selector, wait_time=None):
- wait_time = wait_time or self.wait_time
- end_time = time.time() + wait_time
+ def is_element_present(self, finder, selector, wait_time=None):
+ return self.check_element_presence(finder, selector, wait_time, should_present=True)
- while time.time() < end_time:
- if not finder(selector):
- return True
- return False
+ def is_element_not_present(self, finder, selector, wait_time=None):
+ return self.check_element_presence(finder, selector, wait_time, should_present=False)
def is_element_present_by_css(self, css_selector, wait_time=None):
return self.is_element_present(self.find_by_css, css_selector, wait_time)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment