summaryrefslogtreecommitdiff
path: root/common/driver_common/mywebdriver.py
diff options
context:
space:
mode:
Diffstat (limited to 'common/driver_common/mywebdriver.py')
-rw-r--r--common/driver_common/mywebdriver.py58
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()