3 元素获取封装
1 示例代码
- 通过封装完成错误处理
class MyBrowser(): driver = None # driver def __init__(self, browser): self.driver = InitWebDriver(browser).driver self.driver.maximize_window() self.driver.navi_to_homepage(URL) # 隐式等待,作用域未 webdriver 生命周期内 self.driver.implicitly_wait(10) # 页面导航 def navi_to_homepage(self, url): self.driver.get(url) # 输入框:sendkeys 操作 def web_edit(self, xpath): try: if self.flag == "web": # 去掉 readonly 属性 js_command = "document.evaluate(\"" + xpath + "\", document).iterateNext().removeAttribute('readonly')" self.execute_js(js_command) # 获取输入框 web_edit = self.driver.find_element_by_xpath(xpath) web_edit.clear() return web_edit except NoSuchElementException as e: print(xpath + ' 输入框不存在!') return None except ElementNotVisibleException as e: print(xpath + ' 输入框不可见!') return None except InvalidElementStateException as e: print(xpath + ' 输入框状态异常!') return None except Exception as e: print(xpath + ' 输入框发生其他错误!') return None