zoukankan      html  css  js  c++  java
  • python selenium 实战涉及很多知识点

    1、iframe的切入和切出

    #切入
    driver.switch_to.frame(driver.find_element_by_id('iFrame_1'))
    # 切换出来
    driver.switch_to.default_content()
    

      

    2、句柄的切入和切出

    main_windows = driver.current_window_handle
    # 获取主窗口句柄
    # main_handle = driver.current_window_handle
    ''' 指纹采集 '''
    # 点击采集指纹 新页面
    driver.find_element_by_xpath("//input[@id='button_20']").click()
    
    time.sleep(3)
    # url_1 = "http://192.168.14.249/ywbl/jbyw/dzhz/CheckZw/007001007001334/$B/19940403/1560481330594"
    
    # 切换到最小弹出的窗口Windows的最后一个元素
    # windows = driver.window_handles
    # driver.switch_to.window(windows[-1])
    
    # 切换回主窗口
    all_windows = driver.window_handles
    print(all_windows)
    # 切换进注册页面
    for handle in all_windows:
        if handle != main_windows:
            driver.switch_to.window(handle)
    
            # document.querySelector("#couseText").value='{}';
            js = '''
                document.querySelector('#couseText').value='{}';
                '''.format("申请人未满十六周岁")
            driver.execute_script(js)
    
            driver.find_element_by_xpath("//input[@id='OKButton']").click()
    
            rztext = driver.find_element_by_xpath("//span[@id='errorMsg']").get_attribute("value")
            if rztext == '该数据已经做过指纹核验审批!':
                driver.find_element_by_xpath("//input[@value='取 消']").click()
    
            time.sleep(5)
    
    # 重先定位到主页面,原来窗口
    driver.switch_to.window(main_windows)
    # 在切换到iframe里面才能找到下面的元素
    driver.switch_to.frame(driver.find_element_by_id('iFrame_1'))
    

      

    3、鼠标悬停

    action = ActionChains(driver)
    # 鼠标移动到该元素上,鼠标悬停,等待下拉框元素可见
    ele = driver.find_element_by_xpath("//div[@id='fzgnbtZw']")
    action.move_to_element(ele).perform()
    

      

    4、鼠标定位移动点击

    site = driver.find_element_by_xpath("//input[@title='输入关键字查询,双击显示前10条记录!']").location_once_scrolled_into_view
    site1 = driver.find_element_by_xpath("//input[@title='输入关键字查询,双击显示前10条记录!']").location
    windowsSite = driver.get_window_rect()
    x,y = -1*site["x"],site1["y"]+windowsSite["y"]+10
    time.sleep(1)
    print(site,'
    ',site1,'
    ',windowsSite)
    ActionChains(driver).move_by_offset(x,y).context_click().perform()
    

      

    5、填下拉查询输入表使用延迟

    driver.find_element_by_xpath(mainPath+"/input[@id='sbmacID']").send_keys("0021")
    time.sleep(1)
    driver.find_element_by_xpath("//div[@class='form-group']/div/div/div/input[@name='CODEVALUE_sblx']").send_keys("填表机")
    time.sleep(1)
    driver.find_element_by_xpath("//div[@class='form-group']/div/div/div/input[@id='CODEVALUE_lclxID']").send_keys("内地申请")
    time.sleep(1)
    driver.find_element_by_xpath("//input[@name='CODEVALUE_xzqh' and @id='CODEVALUE_xzqhID' and @class='form-control zd-input-sm input-sm form-control required']").send_keys("北京市辖区")
    time.sleep(1)
    driver.find_element_by_xpath("//div[@class='form-group']/div/div/input[@id='sbwzID']").send_keys("广州")
    

      

     6、alert 弹框确定进行点击处理

    # alert 点击弹框确定
    Alert(driver).accept()
    

      

  • 相关阅读:
    第一周学习总结
    lhgdialog窗口插件
    validate验证
    jxl自己写的例子
    jxl导入/导出excel
    struts2文件上传
    struts2基于注解的文件下载
    学校操场的印象
    我的开源项目:JPEG分析器
    我的开源项目:TS封装格式分析器
  • 原文地址:https://www.cnblogs.com/wuzaipei/p/11044390.html
Copyright © 2011-2022 走看看