diff options
Diffstat (limited to 'common/driver_common/mywebdriver.py')
| -rw-r--r-- | common/driver_common/mywebdriver.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/common/driver_common/mywebdriver.py b/common/driver_common/mywebdriver.py new file mode 100644 index 00000000..cb8dadaf --- /dev/null +++ b/common/driver_common/mywebdriver.py @@ -0,0 +1,58 @@ +import time +import traceback +import inspect +from selenium import webdriver +from selenium.webdriver.common.by import By +from selenium.webdriver.support.wait import WebDriverWait +from typing import Optional + + +class MyWebDriver(webdriver.Remote): + def find_element(self, by=By.ID, value: Optional[str] = None, + find_before_wait_time=0.3, find_after_wait_time=0.3, wait_timeout=10): + if wait_timeout > 60: + wait_timeout = 60 + while wait_timeout > 0: + time.sleep(find_before_wait_time) + wait_timeout = wait_timeout - (find_before_wait_time if find_before_wait_time > 0 else 2.5) + try: + self.element = super().find_element(by, value) + except: + caller_info = inspect.stack()[1] + caller_filename = caller_info.filename + caller_line_number = caller_info.frame + caller_code_context = caller_info.code_context + print(caller_filename, caller_line_number, caller_code_context) + print(f"查找方法:{by};-->>", f"查找元素:{value}\n") + throw_assert = 1 + assert_info = traceback.format_exc() + continue + else: + time.sleep(find_after_wait_time) + throw_assert = 0 + break #找到则退出循环 + if throw_assert == 1: + print(assert_info) + raise + return self.element + + + +if __name__ == '__main__': + chrome_option = webdriver.ChromeOptions() + driver = MyWebDriver( + command_executor="http://192.168.64.34:4444", + options=chrome_option + ) + driver.implicitly_wait(5) + driver.get("http://192.168.44.72") + driver.find_element(By.NAME, "username1").send_keys("zcw3") + driver.find_element(By.NAME, "username").send_keys("zcw3") + driver.find_element(By.NAME, "username").send_keys("zcw3") + driver.find_element(By.NAME, "username").send_keys("zcw3") + driver.find_element(By.NAME, "password").send_keys("111111") + driver.find_element(By.NAME, "password").send_keys("111111") + driver.find_element(By.NAME, "password").send_keys("111111") + driver.find_element(By.NAME, "password").send_keys("111111") + + driver.quit() |
