コード例 #1
0
    def create_experiment(self):
        element = self.browser.find_element_by_xpath('//*[@id="myTable"]/tbody/tr[1]/td[6]/a[2]')
        element.click()
        time.sleep(3)

        element = self.browser.find_element_by_xpath('//*[@id="portfolio"]/div/a')
        element.click()
        time.sleep(3)

        element = self.browser.find_element_by_id('nombre')
        element.send_keys('Resultado Experimento 1')

        element = self.browser.find_element_by_id('fechaInicio')
        element.send_keys('2017-12-31')

        element = Select(self.browser.find_element_by_id('responsable'))
        element.select_by_index(1)

        element = Select(self.browser.find_element_by_id('estado'))
        element.select_by_index(2)

        element = self.browser.find_element_by_id('prioridad')
        element.send_keys('1')

        element = self.browser.find_element_by_id('descripcion')
        element.send_keys('Experimento extraccion de muestra exitosa')

        element = self.browser.find_element_by_xpath('//*[@id="formAddExperiment"]/div[8]/input')
        element.click()
        time.sleep(3)

        element = self.browser.find_element_by_xpath('//*[@id="formAddExperiment"]/div[8]/a')
        element.click()
        time.sleep(3)
コード例 #2
0
    def test_all(self):
        self.driver.get("http://127.0.0.1:5000/")
        # Login Button
        self.driver.implicitly_wait(5)

        element = self.driver.find_element_by_id('loginButton')
        element.click()

        self.driver.implicitly_wait(10)

        # Create user
        element = self.driver.find_element_by_id('signupNav')
        element.click()
        element = self.driver.find_element_by_name('email')
        element.send_keys(self.usr['email'])
        element = self.driver.find_element_by_name('name')
        element.send_keys(self.usr['name'])
        element = self.driver.find_element_by_name('password')
        element.send_keys(self.usr['password'])
        element = self.driver.find_element_by_id('signupButton')
        element.click()
        element = self.driver.find_element_by_id('loginNav')
        element.click()
        self.driver.implicitly_wait(10)
        # User login
        element = self.driver.find_element_by_name('email')
        element.send_keys(self.usr['email'])
        element = self.driver.find_element_by_name('password')
        element.send_keys(self.usr['password'])
        element = self.driver.find_element_by_id('loginButton')
        element.click()
        self.driver.implicitly_wait(5)
        # Fill form
        for i in self.data:
            if self.data[i]['type'] == "radio":
                element = self.driver.find_element_by_id(self.data[i]['id'])
                element.click()
                pass

            elif self.data[i]['type'] == "dropdown":
                element = Select(
                    self.driver.find_element_by_id(self.data[i]['id']))
                element.select_by_visible_text(self.data[i]['value'])
                pass

            elif self.data[i]['type'] == "textbox":
                element = self.driver.find_element_by_id(self.data[i]['id'])
                element.clear()
                element.send_keys(self.data[i]['value'])
                pass

            else:
                print("problem with ", i)
        self.driver.implicitly_wait(5)
        self.driver.find_element_by_id('submit-button').click()
        self.driver.implicitly_wait(5)
コード例 #3
0
ファイル: daka.py プロジェクト: J1aled/Health-check-in
    def sign_in(self):
        option = webdriver.ChromeOptions()
        option.add_argument('--headless')
        browser = webdriver.Chrome('/usr/bin/chromedriver',
                                   chrome_options=option)
        browser.get("http://login.cuit.edu.cn/Login/xLogin/Login.asp")

        try:
            browser.find_element_by_name('txtId').send_keys(self.uid)
            browser.find_element_by_name('txtMM').send_keys(self.pwd)
            browser.find_element_by_id('IbtnEnter').click()
            time.sleep(0.5)

            t = time.strftime('%m%d', time.localtime())
            browser.find_element_by_link_text(t + '疫情防控——师生健康状态采集').click()
            time.sleep(0.5)

            s1 = Select(browser.find_element_by_name("sF21650_5"))
            s1.select_by_value("1")
            s2 = Select(browser.find_element_by_name("sF21650_6"))
            s2.select_by_value("1")
            s3 = Select(browser.find_element_by_name("sF21650_7"))
            s3.select_by_value("1")
            s4 = Select(browser.find_element_by_name("sF21650_8"))
            s4.select_by_value("1")
            s5 = Select(browser.find_element_by_name("sF21650_9"))
            s5.select_by_value("1")
            s6 = Select(browser.find_element_by_name("sF21912_1"))
            s6.send_keys("北街")
            s6 = Select(browser.find_element_by_name("sF21912_2"))
            s6.send_keys("买生活用品")
            s7 = Select(browser.find_element_by_name("sF21912_3"))
            s7.select_by_value("1")
            s8 = Select(browser.find_element_by_name("sF21912_4"))
            s8.select_by_value("06")
            s9 = Select(browser.find_element_by_name("sF21912_5"))
            s9.select_by_value("3")
            s10 = Select(browser.find_element_by_name("sF21912_6"))
            s10.select_by_value("23")
            browser.find_element_by_name("B2").click()
            saveFile(t + '打卡成功!')

        except Exception as e:
            print("there is an exception:" + str(e))
            saveFile("打卡失败:签到代码存在异常" + str(e))
        finally:
            browser.quit()
コード例 #4
0
    def test_login(self):
        # Crear el usuario
        self.browser.get(self.baseUrl)
        self.browser.implicitly_wait(10)

        link = self.browser.find_element_by_id('link_iniciar_sesion')
        link.click()
        time.sleep(3)

        element = self.browser.find_element_by_id('username')
        element.send_keys('test')

        clave = self.browser.find_element_by_id('password')
        clave.send_keys('agiles123')

        btn = self.browser.find_element_by_id('btn_iniciar_sesion')
        btn.click()
        time.sleep(3)

        link = self.browser.find_element_by_id('linkProtocolos')
        link.click()
        time.sleep(3)

        link = self.browser.find_element_by_id('linkAgregarProtocolo')
        link.click()
        time.sleep(3)

        element = self.browser.find_element_by_id('titulo')
        element.send_keys('Protocolo Prueba')

        element = Select(self.browser.find_element_by_id('categoria'))
        element.select_by_index(1)

        element = self.browser.find_element_by_id('habilitado')
        element.click()

        element = self.browser.find_element_by_xpath(
            '//div[@class="jqte_editor"]')
        element.send_keys('Protocolo Prueba')

        botonGuardar = self.browser.find_element_by_id('btn_guardar')
        botonGuardar.click()
        self.browser.implicitly_wait(3)
        time.sleep(2)
コード例 #5
0
ファイル: distro.py プロジェクト: xuanjia/beaker-webauto
 def distro_tree_advance_search_process(self,name,osmajor,arch="",variant=""):
     driver=self.driver
     driver.find_element_by_id("showadvancedsearch").click()
     driver.implicitly_wait(2)
     table=WebDriverSelect(driver.find_element_by_id("search_0_table"))
     table.select_by_value("Name")
     operation=WebDriverSelect(driver.find_element_by_id("search_0_operation"))
     operation.select_by_value("contains")
     value=driver.find_element_by_id("search_0_value")
     value.send_keys(name)
     driver.find_element_by_xpath("//a[@id='doclink']").click()
     driver.implicitly_wait(4)
     table=WebDriverSelect(driver.find_element_by_id("search_1_table"))
     table.select_by_value("OSMajor")
     operation=WebDriverSelect(driver.find_element_by_id("search_1_operation"))
     operation.select_by_value("contains")
     value=driver.find_element_by_id("search_1_value")
     value.send_keys(osmajor)
     i='2'
     if arch != "" :
         driver.find_element_by_xpath("//a[@id='doclink']").click()
         driver.implicitly_wait(4)
         table=WebDriverSelect(driver.find_element_by_id("search_"+i+"_table"))
         table.select_by_value("Arch")
         operation=WebDriverSelect(driver.find_element_by_id("search_"+i+"_operation"))
         operation.select_by_value("is")
         value=WebDriverSelect(driver.find_element_by_id("search_"+i+"_value"))
         value.select_by_value("x86_64")
         i='3'
     if variant != "" :
         driver.find_element_by_xpath("//a[@id='doclink']").click()
         driver.implicitly_wait(4)
         table=WebDriverSelect(driver.find_element_by_id("search_"+i+"_table"))
         table.select_by_value("Variant")
         operation=WebDriverSelect(driver.find_element_by_id("search_"+i+"_operation"))
         operation.select_by_value("contains")
         value=driver.find_element_by_id("search_"+i+"_value")
         value.send_keys(variant)
コード例 #6
0
    def create_poject(self):
        linkProjects = self.browser.find_element_by_id('linkProjects')
        linkProjects.click()
        time.sleep(3)
        linkReport = self.browser.find_element_by_xpath('//*[@id="portfolio"]/div/a')
        linkReport.click()
        time.sleep(3)

        element = self.browser.find_element_by_id('nombre')
        element.send_keys('1 - Test Resultado Experimento')

        element = self.browser.find_element_by_id('fechaInicio')
        element.send_keys('2017-10-31')

        element = self.browser.find_element_by_id('fechaFinal')
        element.send_keys('2017-12-31')

        element = Select(self.browser.find_element_by_id('patrocinador'))
        element.select_by_index(1)

        element = Select(self.browser.find_element_by_id('estado'))
        element.select_by_index(2)

        element = self.browser.find_element_by_id('prioridad')
        element.send_keys('1')

        element = self.browser.find_element_by_id('descripcion')
        element.send_keys('Test Resultado Experimento descripcion')

        element = self.browser.find_element_by_xpath('//*[@id="formProject"]/div[8]/input')
        element.click()
        time.sleep(3)

        element = self.browser.find_element_by_xpath('//*[@id="formProject"]/div[8]/a')
        element.click()
        time.sleep(3)
コード例 #7
0
def fill_task_fields(driver, field_data, task_name):
    """
    Fill fields based on dictionary with locators, types and values
    driver - instance of selenium webdriver
    field_data - dictionary with fields. 
                Key is fieldname;fieldtype. 
                Value is value to pass
    task_name, str - name of current task
    """
    for field, value in field_data.items():
        try:
            data = field.split(';')
            if data[1] == 'select':
                cur_field = Select(select_input_by_label(driver, data[0], data[1]))
                try:
                    cur_field.select_by_visible_text(value)
                except (
                    EC.NoSuchElementException,
                    EC.StaleElementReferenceException,
                    ElementNotVisibleException
                ):
                    print(f"Select option {field} is invalid in task {task_name}")

            elif data[1] == 'input-af':
                cur_field = select_input_by_label(driver, data[0], 'input')
                cur_field.send_keys(value)
                time.sleep(3)
                # driver.find_element_by_xpath(
                #     f'//div[@id="tooltip"]//li[contains(text(),"{value}")]'
                # ).click()
                cur_field.send_keys(Keys.ARROW_DOWN, Keys.RETURN)

            elif data[1] == 'input-2':
                cur_field = select_input_by_label(driver, data[0], 'input', 2)
                cur_field.send_keys(value)
            
            elif data[1] == 'input-sp':
                value_str = data[0].replace('–', '-')
                cur_field = select_input_by_label(driver, value_str, 'input')
                cur_field.send_keys(value)

            else:
                cur_field = select_input_by_label(driver, data[0], data[1])
                if value == "today":
                   date_value = time.strftime("%Y-%m-%dT%H:%M:%S")
                   cur_field.send_keys(date_value)
                else:
                    cur_field.send_keys(value)
        except (
            EC.NoSuchElementException,
            EC.StaleElementReferenceException,
            ElementNotVisibleException
        ):
            print(f"Field {data} is invalid in task {task_name}")
            raise

        time.sleep(1)
コード例 #8
0
def bna_direct_remboursement():
    driver.get(
        "http://www.bna.tn/site/fr/simulateur.php?id_article=587#horizontalTab2"
    )
    type = Select(driver.find_element_by_xpath('//*[@id="produit2"]'))
    type_list = [
        "Crédits Directs aux Particuliers et aux Professionnels",
        "PRET AUTO- Crédit Direct Acquisition véhicule",
        "PRET PERSO- Crédit Direct Dépenses Courantes",
        "PRET IMMO - Crédit Direct Aménagement Logement Hypothécaire",
        "PRET PERSO - Crédit Direct Aménagement",
        "PRET IMMO- Crédit Direct Acquisition Logement",
        "PRET IMMO- Crédit Direct Construction",
        "PRET IMMO- Crédit Direct Achat Terrain",
        "PRET PERSO - Crédit Direct Aménagement Hypothécaire"
    ]
    for index in range(0, (len(type_list) - 1)):
        print("choisir un  Catégorie")
        print(index.__str__() + ") " + type_list[index])
    a = int(input())
    type.select_by_index(a + 1)

    montant = driver.find_element_by_xpath('//*[@id="salaire"]')
    montant.clear()
    b_montant = getpass.getpass(" enter votre salaire en dinars ")
    montant.send_keys(b_montant)

    retenue = driver.find_element_by_xpath('//*[@id="retenue"]')
    retenue.clear()
    b_retenue = getpass.getpass(" enter le retenue en dinars ")
    retenue.send_keys(b_retenue)

    remboursement = driver.find_element_by_xpath(
        '//*[@id="slider_duree2"]/span')
    dure = int(
        getpass.getpass(
            "svp entrer la durée de credit voulu en mois qui ne depasse pas 240"
        ))
    for _ in itertools.repeat(None, int(dure - 1)):
        remboursement.send_keys(Keys.ARROW_RIGHT)

    WebDriverWait(driver, 15).until(
        EC.presence_of_element_located((By.XPATH, '//*[@id="periodicite"]')))
    type_remboursement = Select(
        driver.find_element_by_xpath(
            '/html/body/div[2]/div/div[4]/div/div/div[1]/div[1]/div/div/div[2]/form/div[2]/div[3]/div/select'
        ))

    # type_r = driver.find_element_by_xpath('//*[@id="periodicite"]')
    type_r_list = ["Mensuelle", "Trimestrielle", "Semestrielle", "Annuelle"]
    for index in range(0, (len(type_r_list))):
        print("choisir un  Catégorie")
        print(index.__str__() + ") " + type_r_list[index])
    a = int(input())
    type_remboursement.select_by_visible_text(type_r_list[a])

    type_remboursement = driver.find_element_by_id("date_echeance2")
    type_remboursement.clear()
    tr = getpass.getpass(
        "entrer la date de debut de remboursement sous la forme de jj-mm-aaaa")
    type_remboursement.send_keys(tr)

    calculer = driver.find_element_by_xpath(
        '/html/body/div[2]/div/div[4]/div/div/div[1]/div[1]/div/div/div[2]/form/input'
    )
    driver.execute_script("arguments[0].click();", calculer)

    time.sleep(5)

    res = driver.find_elements_by_css_selector(
        '#horizontalTab > div > div.smart-forms.resp-tab-content.resp-tab-content-active > div > div.pricetable-holder > div'
    )
    for i in res:
        print(i.text)
コード例 #9
0
def bna_direct_financement():
    driver.get(
        "http://www.bna.tn/site/fr/simulateur.php?id_article=587#horizontalTab1"
    )
    type = driver.find_element_by_id("produit")
    type_credit = Select(type)
    type_list = [
        "Crédits Directs aux Particuliers et aux Professionnels",
        "PRET AUTO- Crédit Direct Acquisition véhicule",
        "PRET PERSO- Crédit Direct Dépenses Courantes",
        "PRET IMMO - Crédit Direct Aménagement Logement Hypothécaire",
        "PRET PERSO - Crédit Direct Aménagement",
        "PRET IMMO- Crédit Direct Acquisition Logement",
        "PRET IMMO- Crédit Direct Construction",
        "PRET IMMO- Crédit Direct Achat Terrain",
        "PRET PERSO - Crédit Direct Aménagement Hypothécaire"
    ]

    ctype = int(
        getpass.getpass("enter le type de credit voulu : \n 0 " +
                        type_list[0] + "  \n 1 pour " + type_list[0] +
                        "\n 2 pour " + type_list[0] + "  \n 3 pour " +
                        type_list[3] + "\n 4 " + type_list[4] +
                        "  \n 5 pour " + type_list[5] + "\n 6 pour " +
                        type_list[6] + "  \n 7 pour " + type_list[7] +
                        "\n 8 pour " + type_list[8]))
    type_credit.select_by_visible_text(type_list[ctype])

    montant = driver.find_element_by_xpath('//*[@id="montant"]')
    montant.clear()
    b_montant = getpass.getpass(" enter le montant de credit voulu en dinars ")
    montant.send_keys(b_montant)

    type_r = driver.find_element_by_id("periodicite")
    type_remboursement = Select(type_r)
    type_r_list = ["Mensuelle", "Trimestrielle", "Semestrielle", "Annuelle"]
    ctyper = getpass.getpass(
        " enter la Périodicité de remboursement voulu : \n 0  pour Mensuelle \n 1 pour Trimestrielle \n 2 pour Semestrielle \n 3 pour Annuelle "
    )
    type_remboursement.select_by_visible_text(type_r_list[int(ctyper)])

    remboursement = driver.find_element_by_xpath(
        '//*[@id="slider_duree"]/span')
    dure = int(
        getpass.getpass(
            "svp entrer la durée de credit voulu en mois qui ne depasse pas 300"
        ))
    for _ in itertools.repeat(None, int(dure - 1)):
        remboursement.send_keys(Keys.ARROW_RIGHT)

    type_remboursement = driver.find_element_by_xpath(
        '//*[@id="date_echeance"]')
    type_remboursement.clear()
    tr = getpass.getpass(
        "entrer la date de debut de remboursement sous la forme de jj-mm-aaaa")
    type_remboursement.send_keys(tr)

    calculer = driver.find_element_by_id("envoyer")
    calculer.click()
    time.sleep(1)

    res = driver.find_element_by_xpath(
        '//*[@id="horizontalTab"]/div/div[1]/div/div[2]/div/b[2]')
    print(res.text)
コード例 #10
0
    def getPatientList(self):
        url = (
            f"http://{self.server}/hcis_nrsque/Default.aspx" +
            f"?PBCommandParm=userid={self.username}|passwd={self.password}|" +
            f"sid={self.sid}|hostname={self.client_name}|" +
            f"ipaddr={self.client_ip}|macaddr={self.client_mac}|" +
            f"srvname={self.server}|")

        HNs = []

        for CLINIC_ID in CLINIC_IDS:
            self.driver.delete_all_cookies()
            self.driver.get(url)

            # wait
            waitForPageReady(wait=self.wait)

            while True:
                clickNew(self.wait)

                # wait
                waitForPageReady(wait=self.wait)

                # get value of clinic
                soup = BeautifulSoup(self.driver.page_source, "lxml")
                clinic_id = soup.find("input", {
                    "id": "objdw_ext_ovstost_0_1"
                }).get("value")

                if not clinic_id:
                    break

            first_hcis_class = praseHN(self.driver.page_source)[0]

            # set start date
            start_date = "01/01/2500"
            start_date_id = "objdw_ext_cnq_0_1"

            setInputDate(wait=self.wait,
                         input_id=start_date_id,
                         date_str=start_date)

            # select clinic
            clicnic_select_id = "objdw_ext_cnq_0_6"
            clicnic_input_name = "c_section_0"

            clinic_select = self.wait.until(
                EC.element_to_be_clickable((By.ID, clicnic_select_id)))
            clinic_select = Select(clinic_select)
            clinic_select.select_by_visible_text(CLINIC_ID[1])

            # allow js blur effect to run
            clinic_select = self.wait.until(
                EC.element_to_be_clickable((By.ID, clicnic_select_id)))
            clinic_select.send_keys(Keys.TAB)

            # wait for the form to update
            self.wait.until(
                EC.text_to_be_present_in_element_value(
                    (By.NAME, clicnic_input_name), CLINIC_ID[0]))

            # click search
            search_icon_css = "input[name='btn_find_0']"
            search_icon = self.wait.until(
                EC.element_to_be_clickable((By.CSS_SELECTOR, search_icon_css)))
            search_icon.click()

            # wait
            self.wait.until(
                lambda d: praseHN(d.page_source)[0] != first_hcis_class)

            # read hn
            hcis_class, page_hns = praseHN(self.driver.page_source)

            HNs = HNs + page_hns

            while True:
                link = isNextPageLinkExists(driver=self.driver, wait=self.wait)

                if link:
                    link.click()

                    self.wait.until(
                        lambda d: praseHN(d.page_source)[0] != hcis_class)

                    HNs = HNs + praseHN(self.driver.page_source)[1]

                else:
                    break

        return list(set(HNs))