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

 

posted @ 2021-02-09 15:39  栗子测试开发  阅读(49)  评论(0)    收藏  举报