zoukankan      html  css  js  c++  java
  • 某后台自动化模拟登录请假

    import time
    from selenium import webdriver
    from selenium.webdriver.firefox.options  import Options as FOptions
    options=FOptions()
    browser=webdriver.Firefox(executable_path="/Users/mac126/geckodriver",firefox_options=options)#填写自己火狐浏览器geckodriver插件位置
    
    #元素交互
    
    browser.get('输入网址')
    input_element=browser.find_element_by_name('Account')
    input_element.send_keys("输入账号")
    time.sleep(2)
    input_element=browser.find_element_by_name('PassWord')
    input_element.send_keys('输入密码')
    button=browser.find_elements_by_xpath('//button')[0].click()
    #鼠标模拟悬停并点击
    
    browser.maximize_window()
    browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')
    span_element=browser.find_elements_by_xpath('//*[@id="sidebar"]/ul/li[2]/a')[0].click()
    span_element_one=browser.find_elements_by_xpath('//*[@id="sidebar"]/ul/li[2]/ul/li[1]/a/span')[0].click()
    input_element=browser.find_element_by_id('content')
    input_element.send_keys("这是一个测试文件,请勿审批")
    input_element=browser.find_element_by_xpath('//*[@id="setBtimeD"]').click()
    #切换到iframe
    text1=browser.find_element_by_css_selector('body > div > iframe')
    browser.switch_to.frame(text1)
    #设置日期
    m = browser.find_elements_by_xpath('//table//tr[last()]/td')[0]
    m.click()
    
    #切出来
    # browser.switch_to_default_content()
    browser.switch_to.parent_frame()
    select_hour_time=browser.find_element_by_id('setBtimeH')
    select_hour_time.click()
    #设置小时
    time.sleep(1)
    select_hour_time_begin=browser.find_element_by_xpath('//div//select[@id="setBtimeH"]/option[2]')
    select_hour_time_begin.click()
    time.sleep(1)
    
    #设置分钟
    select_minute_time_begin=browser.find_element_by_xpath('//div//select[@id="setBtimeM"]/option[2]')
    select_minute_time_begin.click()
    time.sleep(1)
    
    #设置请假结束时间
    select_date_time=browser.find_element_by_id('setEtimeD')
    select_date_time.click()
    #切入
    # browser.switch_to.parent_frame()#这个也能切换框,不过后面的会报错
    data_input_end_li = browser.find_element_by_css_selector('body > div > iframe')
    browser.switch_to.frame(data_input_end_li)
    time.sleep(1)
    select_date_time_end = browser.find_elements_by_xpath('//table//tr[last()]/td')[5]
    select_date_time_end.click()
    #切出来
    # browser.switch_to_default_content()
    browser.switch_to.parent_frame()
    select_hour_time=browser.find_element_by_id('setEtimeH')
    select_hour_time.click()
    #设置小时
    time.sleep(1)
    select_hour_time_begin=browser.find_element_by_xpath('//div//select[@id="setEtimeH"]/option[2]')
    select_hour_time_begin.click()
    time.sleep(1)
    
    #设置分钟
    select_minute_time_begin=browser.find_element_by_xpath('//div//select[@id="setEtimeM"]/option[2]')
    select_minute_time_begin.click()
    time.sleep(1)
    
    #申请
    # select_aplly=browser.find_element_by_xpath('//*[@id="actionform"]/div[4]/div/button[1]').click()
    #返回
    select_return=browser.find_element_by_xpath('//*[@id="actionform"]/div[4]/div/button[2]').click()
    browser.close()
  • 相关阅读:
    JavaScript数组方法大全
    梁凤波工作周记3月10号
    JS解析联动JSON数据
    angularjs select 获取选中的值
    外部变量获取Ajax后台返回的参数值(success)
    ionic $ionicModal使用方法
    angularjs select ng-options延迟更新(联动)
    ionic使用iframe范围外部站点
    angularjs select 三级联动
    Ionic start 创建项目报错
  • 原文地址:https://www.cnblogs.com/liangliangzz/p/10192296.html
Copyright © 2011-2022 走看看