zoukankan      html  css  js  c++  java
  • 弹窗处理

    '''
    select_by_index()  # 通过索引定位-选项
    select_by_value()  # 通过value值定位-选项
    select_by_visible_text()  # 通过文本值定位-选项
    deselect_all()  # 取消所有选项
    deselect_by_index()  # 取消对应index选项
    deselect_by_value()  # 取消对应value选项
    deselect_by_visible_text()  # 取消对应文本选项
    options()  # 返回下拉列表-所有选项
    first_selected_option()  # 返回下拉列表-第一个选项
    all_selected_options()  # 返回下拉列表-选中的选项
    '''
    
    #select标签下拉框 索引定位,通过索引定位-选项
    def select_index(by, locator, value):
        try:
            k = get_element(driver, by, locator)
            Select(k).select_by_index(value)
            k.click()
        except Exception as e:
            raise e
    
    '''
    #定位非<select>标签的下拉菜单
    
    # 先定位到下拉菜单
    #drop_down = driver.find_element_by_css_selector("div#select2_container > ul")
    # 再对下拉菜单中的选项进行选择
    #drop_down.find_element_by_id("li2_input_2").click()
    
    #div标签#id名称 > 下拉标签尾
    #li标签中的id
    def select_css(value1,value2):
        try:
            drop_down = driver.find_element_by_css_selector(value1)
            drop_down.find_element_by_id(value2).click()
            print("选择成功")
        except Exception as e:
            print(e)
    '''
    
    #移除日历框只读属性,定位输入
    def remove_jQuery(by,locator,value):
        try:
            js = "$('input:eq(0)').removeAttr('readonly')"  # jQuery,移除属性
            driver.execute_script(js)
            print("JS执行成功")
            get_element(driver, by, locator).send_keys(value)
        except Exception as e:
            print(e)
    
    # 获取元素文本值
    def get_text(by, locator,value):
        try:
            text = get_element(driver, by, locator).text
            print(text)
            assert text == value
        except Exception as e:
            raise e
    
    #弹框警告-确认
    def alert_Accept():
        try:
            # self.driver.switch_to_alert().accept() 废弃的方式
            driver.switch_to.alert.accept()
        except Exception as e:
            raise e
    
    #弹框警告-取消
    def alert_Dismiss():
        try:
            # self.driver.switch_to_alert().dismiss() 废弃的方式
            driver.switch_to.alert.dismiss()
        except Exception as e:
            raise e
    
    #获取alert弹窗文本内容
    def alert_text(value):
        try:
            txt = driver.switch_to.alert.text()
            assert txt == value
        except Exception as e:
            raise e
    
    #超时会消失的提醒弹窗,提示之前先设置隐式等待,后提取提示文本
    #在点击登录后,使用implicitly_wait()设置隐式等待时间,后接提示文本的获取就可以了
    #https://testerhome.com/topics/18955?locale=zh-CN
    def assert_toast_text(by,locator,vaule):
        try:
            #wait(5)
            txt = get_element(driver, by, locator).text
            print(txt)
            if txt == vaule:
                print("提示信息正确")
            else:
                print("提示信息错误")
        except Exception as e:
            raise e
  • 相关阅读:
    Oracle: 一个很让人纠结的sql问题,给自己长个记性
    TextInfo list of CultureInfo
    一个简单的面试题称粮食
    C++ 中什么是内联函数(zhuan)
    C/C++ 到 shellcode 过程
    常量指针与指针常量的区别(转帖)
    分清函数指针和指针函数
    如何编写自己的缓冲区溢出利用程序? (zz)
    动态获取API函数地址对抗win7 aslr安全机制(转)
    暴力搜索内存空间获得 Api 的线性地址
  • 原文地址:https://www.cnblogs.com/xiaochuichui/p/13280898.html
Copyright © 2011-2022 走看看