Created
November 28, 2012 21:49
-
-
Save bernardobarreto/4164863 to your computer and use it in GitHub Desktop.
splinter_webdriver_refactoring.diff
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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