Ejemplo n.º 1
0
    def test_mark_attendance(self):
        user = "******"
        pwd = "arti12345"
        driver = self.driver
        driver.maximize_window()
        driver.get("https://omk-2.herokuapp.com/login_user/")
        elem = driver.find_element_by_id("id_username")
        elem.send_keys(user)
        elem = driver.find_element_by_id("id_password")
        elem.send_keys(pwd)
        elem.send_keys(Keys.RETURN)
        assert "Logged In"
        #time.sleep(5)

        #Mark Attendance
        elem = driver.find_element_by_xpath(
            "/html/body/div[1]/nav/div[2]/ul/li[2]/a").click()
        elem = driver.find_element_by_xpath(
            "/html/body/div[1]/div/div/div/div/div/table/tbody/tr[1]/td[3]/a"
        ).click()
        #elem = driver.find_element_by_name("stu_name").click()
        elem = Select(driver.find_element_by_id("id_stu_name"))
        elem.select_by_value("2")
        elem = driver.find_element_by_id("id_attend").click()
        elem = driver.find_element_by_id("id_remarks")
        elem.clear()
        elem.send_keys("This is test Attendance")
        elem = driver.find_element_by_xpath(
            "/html/body/div[1]/div/div/form/button").click()

        # Click Student List
        elem = driver.find_element_by_xpath(
            "/html/body/div[1]/nav/div[2]/ul/li[3]/a").click()
    def test_log(self):
        driver = self.driver
        driver.maximize_window()
        driver.get("http://onspar.pythonanywhere.com/login")
        driver.find_element_by_xpath("/html/body/div[2]/a[3]").click()
        elem = driver.find_element_by_name("login")
        elem.clear()
        elem.send_keys("vasuparikh")
        time.sleep(6)
        elem = driver.find_element_by_name("password")
        elem.clear()
        elem.send_keys("vasu95guy")
        driver.find_element_by_xpath("/html/body/div[3]/div[1]/div/form/div[2]/input[3]").click()
        time.sleep(7)
        driver.find_element_by_xpath("/html/body/nav/div/div/ul[1]/li[2]/a").click()
        time.sleep(3)
        driver.find_element_by_xpath("/html/body/div[3]/div[1]/a[2]").click()
        time.sleep(20)
        elem = Select(driver.find_element_by_id("id_quantity"))
        elem.select_by_value("2")
        driver.find_element_by_xpath("/html/body/div[2]/div/div[2]/div[2]/div/div/form/div/div/button").click()
        time.sleep(5)
        driver.find_element_by_xpath("/html/body/ul/li[2]/a").click()
        time.sleep(5)
        driver.find_element_by_xpath("/html/body/div[2]/a").click()
        time.sleep(10)
        driver.find_element_by_xpath("/html/body/form/input[12]").click()
        time.sleep(15)
        elem = driver.find_element_by_name("login_email")
        elem.clear()
        elem.send_keys("*****@*****.**")
        time.sleep(15)
        elem = driver.find_element_by_id("btnNext")
        elem.click()
        time.sleep(10)
        elem = driver.find_element_by_name("login_password")
        elem.clear()
        elem.send_keys("test1234")
        time.sleep(15)
        elem = driver.find_element_by_id("btnLogin")
        elem.click()
        time.sleep(7)
        elem = driver.find_element_by_id("confirmButtonTop")
        elem.click()
        time.sleep(17)
        elem = driver.find_element_by_id("merchantReturnBtn")
        elem.click()
        time.sleep(7)




        def tearDown(self):
            self.driver.close()
Ejemplo n.º 3
0
 def add_log_detailed(self, cnt):
     self.web.switch_to.frame("main")
     ele = Select(self.web.find_element_by_name('type'))
     ele.select_by_value(self.plan_num)
     ele = self.web.find_element_by_name('yy')
     ele.clear()
     ele.send_keys(self.set_yy)
     ele = self.web.find_element_by_name('mm')
     ele.clear()
     ele.send_keys(self.set_mm)
     ele = self.web.find_element_by_name('dd')
     ele.clear()
     ele.send_keys(self.set_dd[cnt])
     ele = self.web.find_element_by_name('hrs')
     ele.clear()
     ele.send_keys(self.set_hrs[cnt])
     ele = self.web.find_element_by_name('workin')
     ele.clear()
     ele.send_keys(self.set_workin)
     self.web.find_element_by_xpath('/html/body/form/center/input').click()
Ejemplo n.º 4
0
 def fill_in_field(self, field):
     if field._type == 'checkbox':
         input_fields = self.browser.find_elements_by_xpath(
             "//input[@name='%s']" % field.name)
         for input_field in input_fields:
             input_value = input_field.get_attribute('value')
             is_selected = not input_field.is_selected()
             same_content = input_value in \
                 [str(value) for value in field.content]
             if same_content and is_selected:
                 input_field.click()
     elif field._type == 'autocomplete':
         # autocomplete add a kind of new input field with -autocomplete
         # at the end of the field name.
         # So we first search this input. Then we send him some value
         fieldname = field.name + '-autocomplete'
         input_field = self.browser.find_element_by_name(fieldname)
         input_field.clear()
         input_field.send_keys(field.content)
         # After a while, we select the first value displayed
         self.browser.implicitly_wait(2)
         select_element = '.yourlabs-autocomplete[data-input-id="id_' + \
             fieldname + '"] [data-value]'
         choices = self.browser.find_elements_by_css_selector(
             select_element)
         choices[0].click()
     elif field._type == Select:
         input_field = self.browser.find_element_by_name(field.name)
         input_field = Select(input_field)
         input_field.select_by_visible_text(field.content)
     else:
         input_field = self.browser.find_element_by_name(field.name)
         # Delete content first
         if field._type != 'file':
             input_field.clear()
         input_field.send_keys(field.content)
 def test_blog(self):
     user = "******"
     pwd = "instructor1a"
     driver = self.driver
     driver.maximize_window()
     driver.get("http://127.0.0.1:8000/admin")
     elem = driver.find_element_by_id("id_username")
     elem.send_keys(user)
     elem = driver.find_element_by_id("id_password")
     elem.send_keys(pwd)
     elem.send_keys(Keys.RETURN)
     driver.get("http://127.0.0.1:8000/home")
     assert "Logged In"
     time.sleep(5)
     elem = driver.find_element_by_xpath(
         "html/body/div/div/div/div[2]/div/div/div/div/div[2]/div/div/p[2]/a"
     ).click()
     time.sleep(5)
     elem = driver.find_element_by_xpath(
         "html/body/div/div/div/div[3]/table/tbody/tr[3]/td[8]/a").click()
     time.sleep(5)
     elem = Select(driver.find_element_by_id('id_cust_name'))
     elem.select_by_visible_text('Lillian Wells')
     elem = driver.find_element_by_id("id_service_category")
     elem.clear()
     elem.send_keys("Brownies")
     elem = driver.find_element_by_id("id_description")
     elem.clear()
     elem.send_keys(
         "We need some brownies for children at an event we are hosting.")
     elem = driver.find_element_by_id("id_location")
     elem.clear()
     elem.send_keys("15th O Circle")
     elem = driver.find_element_by_id("id_service_charge")
     elem.clear()
     elem.send_keys("79.53")
     time.sleep(5)
     elem.send_keys(Keys.RETURN)
     assert "Posted Service Entry"
     driver.get("http://127.0.0.1:8000/service_list")
 def test_blog(self):
     user = "******"
     pwd = "instructor1a"
     driver = self.driver
     driver.maximize_window()
     driver.get("http://127.0.0.1:8000/admin")
     elem = driver.find_element_by_id("id_username")
     elem.send_keys(user)
     elem = driver.find_element_by_id("id_password")
     elem.send_keys(pwd)
     elem.send_keys(Keys.RETURN)
     driver.get("http://127.0.0.1:8000/home")
     assert "Logged In"
     time.sleep(5)
     elem = driver.find_element_by_xpath(
         "html/body/div/div/div/div[2]/div/div/div/div/div[3]/div/div/p[2]/a"
     ).click()
     time.sleep(5)
     elem = driver.find_element_by_xpath(
         "html/body/div/div/div/div[3]/table/tbody/tr[3]/td[7]/a").click()
     time.sleep(5)
     elem = Select(driver.find_element_by_id('id_cust_name'))
     elem.select_by_visible_text('Lillian Wells')
     elem = driver.find_element_by_id("id_product")
     elem.clear()
     elem.send_keys("Cupcakes")
     elem = driver.find_element_by_id("id_p_description")
     elem.clear()
     elem.send_keys("Red Velvet")
     elem = driver.find_element_by_id("id_quantity")
     elem.clear()
     elem.send_keys("60")
     elem = driver.find_element_by_id("id_charge")
     elem.clear()
     elem.send_keys("42.58")
     time.sleep(5)
     elem.send_keys(Keys.RETURN)
     assert "Posted Product Entry"
     driver.get("http://127.0.0.1:8000/product_list")
Ejemplo n.º 7
0
def create_nike(n, location, PROXY=False):
    n = n - 1
    r_mail = ''.join(
        random.choice(string.ascii_letters + string.digits)
        for i in range(8)) + '@gmail.com'
    r_fn = ''.join(random.choice(string.ascii_letters) for i in range(4))
    r_pas = ''.join(
        random.choice(string.digits + string.ascii_lowercase +
                      string.ascii_uppercase + string.digits)
        for i in range(12))
    r_ln = ''.join(random.choice(string.ascii_letters) for i in range(4))

    if PROXY == True:
        chrome_options.add_argument('--proxy-server=http://%s' % proxiess[n])
        print("Connected to proxy -> {}".format(proxiess[n]))

    else:
        print("Using without proxy.")

    driver = webdriver.Chrome(chrome_options=chrome_options,
                              executable_path=chromedriver_location)

    if PROXY == True:
        print("Connected to proxy -> {}".format(proxiess[n]))

    print("Starting new session...")

    if location == 'CN2':

        os.system("cls")
        username = input("Input username for smscin... ")
        os.system("cls")
        token = input("Input token for smscin... ")
        os.system("cls")
        pid = input("Input pid for smscin... ")

        driver.get('https://www.nike.com/cn/zh_cn/s/register')

        try:
            time.sleep(4)
            try:
                flag = driver.find_element_by_xpath(
                    "//div[@class='modal-close-glyph nsg-glyph--x']")
                flag.click()
            except:
                print("Something went wrong:/")
            input_num = driver.find_element_by_xpath("//input[@type='tel']")
            input_num.click()
            input_num.clear()
            input.send_keys(VerSMS.getmobile_cn(token, username, pid))
            print("Number -> {}".format(
                VeySMS.getmobile_cn(token, username, pid)))

            time.sleep(2)

            send_code = driver.find_element_by_xpath(
                "//input[@value='Send Code']")
            send_code.click()

            time.sleep(15)

            code = driver.find_element_by_xpath("//input[@value='number']")
            code.click()
            code.clear()
            code.send_keys(VerSMS.getsms_cn(token, username, pid))
            print("Code -> {}".format(VerSMS.getsms_cn(token, username, pid)))

            time.sleep(1)

        except Exception as e:
            print(e)

    else:

        try:
            if location == 'US':
                driver.get('https://www.nike.com/us/en_us/s/register')
            if location == 'UK':
                driver.get('https://www.nike.com/gb/en_gb/s/register')

        except Exception as e:

            print(e)

        time.sleep(5)
        '''if driver.find_element_by_class_name('exp-geodetect-notifier__title nsg-font-family--platform').is_displayed():
            flag = driver.find_element_by_class_name('exp-geodetect-notifier__flag')
            flag.click()'''

        try:
            flag = driver.find_element_by_xpath(
                "//div[@class='modal-close-glyph nsg-glyph--x']")
            flag.click()
        except:
            print("Something went wrong:/")

        time.sleep(4)

        try:

            try:
                em = driver.find_element_by_name('emailAddress')
                em.click()
            except:
                print("Couldn't click!")
            time.sleep(1)
            em.clear()

            em.send_keys(r_mail)

            time.sleep(2)

            try:
                pas = driver.find_element_by_name('password')
                pas.click()
            except:
                print("Couldn't click!")
            time.sleep(1)
            pas.clear()
            try:
                pas.send_keys(r_pas)
            except:
                print("Couldn't send keys!")

            time.sleep(2)

            try:
                fn = driver.find_element_by_name('firstName')
                fn.click()
            except:
                print("Couldn't click!")
            time.sleep(1)
            fn.clear()
            try:

                fn.send_keys(r_fn)
            except:
                print("Couldn't send keys!")

            time.sleep(2)

            try:
                ln = driver.find_element_by_name('lastName')
                ln.click()
            except:
                print("Couldn't click!")
            time.sleep(1)
            ln.clear()
            try:

                ln.send_keys(r_ln)
            except:
                print("Couldn't send keys!")

            time.sleep(2)

            try:
                date_mm = Select(
                    driver.find_element_by_id('nike-unite-date-id-mm'))
                for index in range(len(date_mm.options)):
                    date_mm = Select(
                        driver.find_element_by_id('nike-unite-date-id-mm'))
                    date_mm.select_by_index(index)
                time.sleep(2)

                date_dd = Select(
                    driver.find_element_by_id('nike-unite-date-id-dd'))
                for index in range(len(date_dd.options)):
                    date_dd = Select(
                        driver.find_element_by_id('nike-unite-date-id-dd'))
                    date_dd.select_by_index(index)
                time.sleep(2)

                date_yyyy = Select(
                    driver.find_element_by_id('nike-unite-date-id-yyyy'))
                for index in range(len(date_yyyy.options)):
                    date_yyyy = Select(
                        driver.find_element_by_id('nike-unite-date-id-yyyy'))
                    date_yyyy.select_by_index(index)
                time.sleep(2)

            except:
                date_mm = driver.find_element_by_name('dateOfBirth')
                date_mm.clear()
                date_mm.send_keys('01.01.2000')

            try:
                genre = driver.find_element_by_xpath(
                    "//span[contains(text(), 'Male')]")
                genre.click()
            except:
                print("Couldn't click!")

            time.sleep(2)

            try:
                login_btn = driver.find_element_by_xpath(
                    "//input[@value='CREATE ACCOUNT']")
                login_btn.click()
                time.sleep(2)
                print(" >>> Account created!")
                write_file(r_mail, r_pas)
            except:
                print("Couldn't click!")

            time.sleep(1)

            driver.quit()

        except Exception as e:

            print(e)
Ejemplo n.º 8
0
    def test_edit_view_project(self):
        # Given
        cls = self.__class__
        root = cls.root
        browser = cls.browser
        ui = cls.ui
        data_path = os.path.join(root, 'test')
        self.wait = WebDriverWait(browser, 20)

        # When
        # Create a new project.
        self._get('new-project').click()

        # Set the name.
        e = self._get('edit-name')
        e.clear()
        e.send_keys('test1')
        # Set the path.
        self._get('edit-path').send_keys(data_path)

        # Setup the tags.
        self._get('remove-tag-0').click()
        e = self._get('new-tag')
        e.send_keys('comments, count, processed')
        self._get('add-tag').click()

        e = self._get('tag-type-1')
        e = Select(e)
        e.select_by_visible_text('int')
        e = Select(browser.find_element_by_id('tag-type-2'))
        e.select_by_visible_text('bool')

        self._get('new-extension').send_keys('.txt')
        self._get('add-extension').click()

        self._wait_while(lambda: len(ui.editor.extensions) == 0)

        # Save changes.
        self._get('apply').click()

        p = ui.vixen.projects[0]
        self._wait_while(lambda: len(p.last_save_time) == 0)

        # Then
        self.assertEqual(len(ui.vixen.projects), 1)
        self.assertEqual(p.name, 'test1')
        self.assertEqual(p.root.path, data_path)
        self.assertEqual(p.tags[0].name, 'comments')
        self.assertEqual(p.tags[1].name, 'count')
        self.assertEqual(p.tags[2].name, 'processed')
        self.assertEqual(p.tags[1].type, 'int')
        self.assertEqual(p.tags[2].type, 'bool')
        self.assertEqual(p.number_of_files, 4)
        m = p.get('root.txt')
        self.assertEqual(m.relpath, 'root.txt')
        self.assertEqual(m.type, 'text')
        self.assertEqual(len(m.tags), 3)

        # Test control-s
        last_save = p.last_save_time
        e = self._get('edit-name')
        e.clear()
        e.send_keys('Project 1')
        e = browser.find_element_by_id('apply')
        e.send_keys(Keys.CONTROL, "s")
        self._wait_while(lambda: p.last_save_time == last_save)

        # Then
        self.assertEqual(p.name, 'Project 1')

        # When
        # Now view the project.
        self._get('view-0').click()

        # Navigate down a directory.
        e = self._get('path-0').click()
        viewer = ui.viewer
        self._wait_while(lambda: viewer.current_dir.name == 'test')
        self.assertTrue('sub' in viewer.current_dir.name)
        self.assertEqual(ui.mode, 'view')

        e = self._get('go-to-parent')
        e.send_keys('')
        time.sleep(0.2)
        e.click()
        browser.find_element_by_id('go-to-parent').click()

        self._wait_while(lambda: viewer.current_dir.name == 'sub')
        self.assertEqual(viewer.current_dir.name, 'test')
        e = self._get('path-2')
        e.click()
        self._wait_while(lambda: viewer.current_file is None)
        self.assertEqual(viewer.current_file.name, 'root.txt')

        # Change some tag information and save.
        last_save = p.last_save_time
        e = self._get('tag-0')
        e.send_keys('')
        e.send_keys('test')
        self._get('tag-1').clear()
        self._get('tag-1').clear()
        self._get('tag-1').send_keys('1')
        self._get('save').send_keys('')
        self._get('save').click()
        if cls.driver == 'firefox':
            self._get('save').click()

        self._wait_while(lambda: p.last_save_time == last_save)

        # Then
        m = p.get('root.txt')
        self._wait_while(lambda: m.tags['count'] == 0)
        self.assertEqual(m.tags['comments'], 'test')
        self.assertEqual(m.tags['count'], 1)

        # Change some tag information and save using ctrl+s
        last_save = p.last_save_time
        self._get('tag-0').send_keys('2')

        self._get('tag-1').clear()
        self._get('tag-1').send_keys('12')
        self._get('tag-1').clear()
        self._get('tag-1').send_keys('12')

        self._get('go-to-parent').send_keys(Keys.CONTROL, "s")

        self._wait_while(lambda: p.last_save_time == last_save)

        self.assertEqual(m.tags['comments'], 'test2')
        self.assertEqual(m.tags['count'], 12)

        # Now check if search works.
        self._get('search-text').send_keys('count:12')
        self._get('search').click()

        self._wait_while(lambda: not ui.viewer.search_completed)

        # Then
        e = self._get('search-item-0')
        e.click()
        self._wait_while(lambda: viewer.media is None)
        self.assertTrue(viewer.media.file_name, 'root.txt')
        self.assertEqual(ui.viewer.is_searching, True)
        self.assertEqual(ui.viewer.search_completed, True)

        self._get('clear-search').click()
        self._wait_while(lambda: ui.viewer.search_completed)

        e = self._get('path-2')
        self.assertEqual(ui.viewer.is_searching, False)

        # When
        # Now edit the project.
        browser.find_element_by_link_text('Home').click()
        e = self._get('edit-0')
        e.click()
        self._wait_while(lambda: ui.editor.project is None)

        # Then
        self.assertEqual(ui.mode, 'edit')
        self.assertEqual(ui.editor.project, ui.vixen.projects[-1])

        # When
        # Finally remove the projects.
        done = False
        count = 0
        while not done and count < 3:
            try:
                e = self._get('remove-0')
                e.send_keys('')
                e.click()

                confirm = browser.switch_to_alert()
                confirm.accept()
                done = True
            except NoAlertPresentException:
                count += 1
                time.sleep(0.1)

        self._wait_while(lambda: len(ui.vixen.projects) > 0)
        self.assertEqual(len(ui.vixen.projects), 0)
Ejemplo n.º 9
0
                wait = WebDriverWait(driver, 10)
                elem = wait.until(
                    EC.element_to_be_clickable((By.LINK_TEXT, 'Prices')))
                elem.click()

                wait = WebDriverWait(driver, 10)
                elem = Select(
                    wait.until(
                        EC.element_to_be_clickable(
                            (By.ID, 'id_tax_rules_group'))))
                elem.select_by_value('53')

                wait = WebDriverWait(driver, 10)
                elem = wait.until(
                    EC.element_to_be_clickable((By.ID, 'priceTI')))
                elem.clear()
                elem.send_keys(str(karta.price))
                if (elem.get_attribute('value') == ""):
                    sleep(smallsleep)
                    elem.send_keys(str(karta.price))
                elem.send_keys(Keys.RETURN)
                sleep(normalsleep)
                elem = driver.find_element_by_name("submitAddproduct")
                driver.execute_script(
                    "var x = document.getElementsByName(\"submitAddproduct\"); x[0].click();"
                )
                wait = WebDriverWait(driver, 10)
                elem = wait.until(
                    EC.element_to_be_clickable(
                        (By.NAME, 'productFilter_b!name')))
            except TimeoutException:
driver.get("https://opensource-demo.orangehrmlive.com/")
element = driver.find_element_by_id("txtUsername")
element.send_keys("Admin")
element = driver.find_element_by_id("txtPassword")
element.send_keys("admin123")
element.send_keys(Keys.RETURN)
element = driver.find_element_by_id("menu_pim_viewMyDetails")
element.click()
element = driver.find_element_by_id("btnSave")
element.click()
element = driver.find_element_by_id("personal_txtEmpFirstName")
element.clear()
element.send_keys("John1")
element = driver.find_element_by_id("personal_txtEmpLastName")
element.clear()
element.send_keys("Smith1")
element = driver.find_element_by_id("personal_txtEmployeeId")
element.clear()
element.send_keys("JS12345")
element = driver.find_element_by_id("personal_optGender_1")
element.click()
element = Select(driver.find_element_by_id("personal_cmbNation"))
element.select_by_visible_text("American")
element = driver.find_element_by_id("personal_txtEmpNickName")
element.clear()
element.send_keys("Johny")
element = driver.find_element_by_id("btnSave")
element.click()


Ejemplo n.º 11
0
            elem_data.select_by_value(ctlb[i])
        elem_data = Select(driver.find_element_by_id("ctl09_lbParam"))
        elem = driver.find_element_by_id("ctl09_btnQuery")
        elem.click()
        time.sleep(8)
        html = driver.page_source
        parser = MyHTMLParser()
        parser.feed(html)
        driver.quit()
        driver = webdriver.Chrome("chromedriver.exe")
        driver.get("http://taqm.epa.gov.tw/pm25/tw/HourlyData.aspx")

        ctlb = ["150", "33"]
        for i in range(len(ctlb)):
            elem_sites = driver.find_element_by_id("ctl14_txtDateS")
            elem_sites.clear()
            elem_sites.send_keys(t)
            elem_sites = driver.find_element_by_xpath(
                "//*[@id='ui-datepicker-div']/div[2]/button[2]")
            elem_sites.click()
            elem_sites = driver.find_element_by_id("ctl14_txtDateE")
            elem_sites.clear()
            elem_sites.send_keys(t)
            elem_sites = driver.find_element_by_xpath(
                "//*[@id='ui-datepicker-div']/div[2]/button[2]")
            elem_sites.click()
            elem_sites = Select(driver.find_element_by_id("ctl14_lbParam"))
            elem_sites.select_by_value(ctlb[i])
            elem_sites = Select(driver.find_element_by_id("ctl14_lbSite"))
            elem_sites.deselect_all()
            for i in range(len(cts)):
    def create_user(self, email, gender, firstname, lastname, password,
                    address, city, state, zipcode, phone):

        self.driver.implicitly_wait(10)
        self.driver.find_element_by_xpath(self.sign_in_xpath).click()
        self.driver.implicitly_wait(5)

        elem = self.driver.find_element_by_id(
            self.create_user_email_textbox_id)
        elem.clear()
        elem.send_keys(email)
        elem = self.driver.find_element_by_id(
            self.create_user_submit_button_id)
        elem.click()
        self.driver.implicitly_wait(5)
        if gender == "Mr":
            elem = self.driver.find_element_by_id(
                self.create_user_id_gender_id_1)
        elif gender == "Ms":
            elem = self.driver.find_element_by_id(
                self.create_user_id_gender_id_2)
        elem.click()

        elem = self.driver.find_element_by_id(
            self.create_user_firstname_textbox_id)
        elem.clear()
        elem.send_keys(firstname)

        elem = self.driver.find_element_by_id(
            self.create_user_lastname_textbox_id)
        elem.clear()
        elem.send_keys(lastname)

        elem = self.driver.find_element_by_id(
            self.create_user_password_textbox_id)
        elem.clear()
        elem.send_keys(password)

        elem = self.driver.find_element_by_id(
            self.create_user_address1_textbox_id)
        elem.clear()
        elem.send_keys(address)

        elem = self.driver.find_element_by_id(self.create_user_city_textbox_id)
        elem.clear()
        elem.send_keys(city)

        elem = Select(
            self.driver.find_element_by_id(self.create_user_state_textbox_id))
        elem.select_by_visible_text(state)
        #elem.send_keys(state)

        elem = self.driver.find_element_by_id(
            self.create_user_postcode_textbox_id)
        elem.clear()
        elem.send_keys(zipcode)

        elem = self.driver.find_element_by_id(
            self.create_user_phone_textbox_id)
        elem.clear()
        elem.send_keys(phone)

        elem = self.driver.find_element_by_id(
            self.create_user_register_button_id).click()
Ejemplo n.º 13
0
    def make_log_number(self):
        self.web.get('https://miswww1.ccu.edu.tw/pt_proj/print_sel.php')

        ele = Select(self.web.find_element_by_name('unit_cd1'))
        ele.select_by_value(self.plan_num)
        ele = self.web.find_element_by_name('sy')
        ele.clear()
        ele.send_keys(self.set_yy)
        ele = self.web.find_element_by_name('sm')
        ele.clear()
        ele.send_keys(self.set_mm)
        ele = self.web.find_element_by_name('sd')
        ele.clear()
        ele.send_keys(1)
        ele = self.web.find_element_by_name('ey')
        ele.clear()
        ele.send_keys(self.set_yy)
        ele = self.web.find_element_by_name('em')
        ele.clear()
        ele.send_keys(self.set_mm)
        ele = self.web.find_element_by_name('ed')
        ele.clear()
        ele.send_keys(
            calendar.monthrange(int(self.set_yy), int(self.set_mm))[1])
        self.web.find_element_by_xpath('/html/body/form/center/input').click()
        self.web.find_element_by_name('chka').click()
def webscrape(username, password):

    parent = Tk()
    parent.withdraw()

    # This variable prevents the created therapy grid from being loaded into Python twice
    # in the event of an error
    therapy_grid_status = "Not loaded"

    # This initializes the selenium gecko webdriver and prevents it from creating logs
    browser = webdriver.Firefox(log_path='')
    browser.get('https://columbine.achievematrix.com/')

    # Subgoal 1: Getting the information to login to MatrixCare

    emailElem = browser.find_element_by_id('j_username')
    emailElem.send_keys(username)

    passwordElem = browser.find_element_by_id('j_password')
    passwordElem.send_keys(password)

    linkElem = browser.find_element_by_class_name('loginbtn')

    linkElem.click()  # Attempts to login to MatrixCare

    # Subgoal 2: Navigating to report on MatrixCare.

    try:
        facility_elem = browser.find_element_by_name('facility_name')
    except:
        facility_elem = False

    if facility_elem:
        pass
    else:

        messagebox.showinfo('Error', 'The MatrixCare login information ' \
                            'entered was incorrect. In a moment you will be' \
                            ' prompted to re-try.')

        browser.quit()
        parent.destroy()

        win32clipboard.OpenClipboard()
        therapy_grid_path_prep = win32clipboard.GetClipboardData()
        therapy_grid_path_prep = therapy_grid_path_prep.split(',')
        therapy_grid_path = therapy_grid_path_prep[0]
        win32clipboard.CloseClipboard()

        xl = win32com.client.Dispatch('Excel.Application')
        xl.DisplayAlerts = False
        xl.Workbooks.Open(therapy_grid_path)
        xl.Run('Import_Worksheet')
        therapy_grid_status = "Loaded"

        sys.exit()

    facility_elem.send_keys('Centre Avenue')

    search_elem = browser.find_element_by_name('search')
    search_elem.click()  # Executes the search

    facility_elem = browser.find_element_by_link_text(
        'CENTRE AVENUE HEALTH & REHAB - Ft. Collins, CO')
    facility_elem.click()

    reports_elem = browser.find_element_by_xpath('/html/body/nav[1]')

    action = ActionChains(browser)
    action.move_to_element(reports_elem)
    action.move_by_offset(-175, 0)
    action.click().perform()

    time.sleep(.5)

    reports_elem = browser.find_element_by_xpath(
        '//a[@href="/Zion?zionpagealias=REPORTMENUFACILITY"]')
    reports_elem.click()

    reports_elem = browser.find_element_by_id('ReportRadio202')
    reports_elem.click()

    reports_elem = browser.find_element_by_name('Submit')
    reports_elem.click()

    reports_elem = Select(browser.find_element_by_name('REPORTOUTPUTTYPE'))
    reports_elem.select_by_value('6')

    reports_elem = browser.find_element_by_name('StartDateOpenPeriod')
    reports_elem_value = reports_elem.get_attribute("value")

    reports_elem_value = datetime.strptime(reports_elem_value, '%m/%d/%Y')

    reports_elem_value = reports_elem_value - relativedelta(months=1)

    reports_elem_value = reports_elem_value.strftime('%m/%d/%Y')

    reports_elem.clear()

    reports_elem.send_keys(reports_elem_value)

    reports_elem = browser.find_element_by_name('EndDateOpenPeriod')
    reports_elem_value = reports_elem.get_attribute("value")

    reports_elem_value = datetime.strptime(reports_elem_value, '%m/%d/%Y')

    reports_elem_value = reports_elem_value

    reports_elem_value = reports_elem_value.strftime('%m/%d/%Y')

    reports_elem.clear()

    reports_elem.send_keys(reports_elem_value)

    reports_elem = browser.find_element_by_id('ResidentStatusMulti')
    for option in reports_elem.find_elements_by_tag_name('option'):
        if option.text == "Admission":
            option.click()

    ActionChains(browser).key_down(Keys.CONTROL)

    for option in reports_elem.find_elements_by_tag_name('option'):
        if option.text == "Return":
            option.click()

    ActionChains(browser).key_up(Keys.CONTROL)

    reports_elem = browser.find_element_by_name('Submit')
    reports_elem.click()

    time.sleep(13)

    #pyautogui.press('down')

    # Subgoal 3: Downloading report and importing into therapy record system
    # Data is pulled from the cliboard, which was sent by the Excel
    # VBA in order to find the therapy record file

    pyautogui.press('enter')

    time.sleep(5)

    browser.quit()

    if therapy_grid_status == "Not loaded":

        win32clipboard.OpenClipboard()
        therapy_grid_path_prep = win32clipboard.GetClipboardData()
        therapy_grid_path_prep = therapy_grid_path_prep.split(',')
        therapy_grid_path = therapy_grid_path_prep[0]
        win32clipboard.CloseClipboard()

        xl = win32com.client.Dispatch('Excel.Application')
        xl.DisplayAlerts = False
        xl.Workbooks.Open(therapy_grid_path)
        xl.Run('Import_Worksheet')

        sys.exit()

    else:
        xl.Run('Import_Worksheet')
        sys.exit()