예제 #1
0
def login(username, ext, password):
    driver.find_element_by_id('orgUserId').send_keys(username)
    driver.find_element_by_id('orgUserIdExt').send_keys(ext)
    driver.find_element_by_id('orgPassword').send_keys(password)
    driver.find_element_by_xpath(
        '//*[@id="orgAccountMode"]/table/tbody/tr[4]/td/table/tbody/tr/td[1]/a/div'
    ).click()
def fill_new_item_page(tender_way):
    if tender_way == 1:
        # 新增一個品項
        # 品項名稱
        driver.find_element_by_xpath(
            '//*[@id="tpamTenderItemToList[0].itemName"]').send_keys('測試品項')
        # 預估數量
        driver.find_element_by_xpath(
            '//*[@id="tpamTenderItemToList[0].itemQty"]').send_keys('1')
        # 單位
        driver.find_element_by_xpath(
            '//*[@id="tpamTenderItemToList[0].itemUnit"]').send_keys('1')
        # 預算金額
        driver.find_element_by_xpath('//*[@id="itemAmount_0"]').send_keys(
            '5000')

        # 下一頁
        driver.find_element_by_xpath('//*[@id="Next_page"]').click()
def select_tender_way_1():
    select = Select(driver.find_element_by_id('fkPmsTenderWay'))
    select.select_by_value('1')
    driver.find_element_by_xpath(
        '//*[@id="span_AwardWay_radio"]/label[1]').click()
    driver.find_element_by_xpath(
        '//*[@id="span_isMultipleAward_radio"]/label[1]').click()
    driver.find_element_by_id('sbt_New').click()
    driver.find_element_by_xpath('//*[@id="yes"]').click()
예제 #4
0
def fill_buy_info_page(tender_way, file_name):
    if tender_way == 12:
        send_keys(by_id('tenderName'), file_name)
        send_keys(by_id('fkDmsProctrgCode'), '5111')
        click(by_tag_name('body'))
        send_keys(by_id('planNo'), '12345')

        # 本採購案是否屬於建築工程
        click(by_xpath('//*[@id="IsBuild"]/td[2]/div[1]/div[1]/label'))
        select = Select(by_id('fkTpamProperty'))
        select.select_by_value('1')
        send_keys(by_id('procurementAmount1'), '100000')
        wait(2)

        click(by_xpath("//*[@id='DirectForm']/table/tbody/tr[10]/td[2]/div[1]/div[1]/label"))
        click(by_xpath('//*[@id="tr_isSensitive"]/td[2]/div[1]/div[1]/label'))
        click(by_xpath('//*[@id="tr_isAffectSec"]/td[2]/div[1]/div[1]/label'))
        send_keys(
            by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[15]/td[2]/div[1]/div[1]/div/div[1]/input'),
            '100000'
        )
        wait(1)
        click(by_xpath('//*[@id="tr_budgetIsPdt"]/td[2]/div[1]/div[1]/label'))
        send_keys(
            by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[17]/td[2]/div[1]/div[1]/div/div[1]/input'),
            '100000'
        )
        wait(1)
        click(by_xpath('//*[@id="tr_estimatedProcIsPdt"]/td[2]/div[1]/div[1]/label'))
        click(by_xpath('//*[@id="tr_fuRite"]/td[2]/div[1]/label[2]'))
        wait(1)
        send_keys(
            by_id('fuRiteComment'),
            'abc \n def \n ghi'
        )

        # 是否受機關補助 => 新增一筆
        click(by_xpath('//*[@id="tr_isGrant"]/td[2]/div[1]/div[1]/label'))
        wait(1)

        send_keys(
            by_id('input_orgId_0'),
            '3'
        )
        send_keys(
            by_id('tpamOrgAidMoney_0'),
            '500'
        )

        # 前案採購資訊 => 否
        click(by_xpath('//*[@id="tr_isExTender"]/td[2]/div[1]/div[2]/label'))

        # 下一頁
        click(by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/div[3]/a[2]'))

    elif tender_way == 2:
        # 標案名稱
        send_keys(by_id('tenderName'), file_name)

        # 標的分類
        send_keys(by_id('fkDmsProctrgCode'), '5111')
        click(by_tag_name('body'))
        wait(2)

        # 工程計畫編號
        send_keys(by_id('planNo'), '12345')

        # 以下根據狀況comment
        # case 1
        # 本採購案是否屬於建築工程 => 第一項
        click(by_xpath('//*[@id="IsBuild"]/td[2]/div[1]/div[1]/label'))

        # case 2
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[2]/label'))
        # # 金額500萬
        # send_keys(
        #     by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[2]/div/table/tbody/tr[1]/td[2]/span/div/div[1]/input'),
        #     '5000000'
        # )
        # # 是
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[2]/div/table/tbody/tr[3]/td/div/div/div[1]/label'))
        # # 否
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[2]/div/table/tbody/tr[4]/td/div/div[2]/div[2]/label'))
        # # 是
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[2]/div/table/tbody/tr[5]/td/div/div[2]/div[1]/label'))
        # # 是
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[2]/div/table/tbody/tr[6]/td/div/div[2]/div[1]/label'))

        # case 3
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[3]/label'))
        # # 金額500萬
        # send_keys(
        #     by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[3]/div/table/tbody/tr[1]/td[2]/span/div/div[1]/input'),
        #     '5000000'
        # )

        # case 4
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[4]/label'))

        # case 5
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[5]/td[2]/div[1]/div[5]/label'))

        # 財物採購性質
        select = Select(by_xpath('//*[@id="fkTpamProperty"]'))
        select.select_by_value('1')

        # 採購金額
        send_keys(by_xpath(
            '/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[8]/td[2]/div[1]/div/div/div/div[1]/input'),
            '1000000'
        )

        # 辦理方式
        # 自辦
        click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[10]/td[2]/div[1]/div[1]/label'))
        # 代辦
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[10]/td[2]/div[1]/div[2]/label'))
        # send_keys(
        #     by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[10]/td[2]/div[1]/div[2]/div/div[2]/div/div/div[1]/input'),
        #     '9.99'
        # )

        # 依據法條
        select = Select(by_xpath('//*[@id="fkTpamByLaw"]'))
        select.select_by_value('28')

        # 本採購是否屬「具敏感性或國安(含資安)疑慮之業務範疇」採購
        click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[13]/td[2]/div[1]/div[1]/label'))

        # 本採購是否屬「涉及國家安全」採購
        click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[14]/td[2]/div[1]/div[1]/label'))

        # 預算金額
        send_keys(
            by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[15]/td[2]/div[1]/div[1]/div/div[1]/input'),
            '50000'
        )

        # 預算金額是否公開
        click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[16]/td[2]/div[1]/div[1]/label'))

        # 預計金額
        send_keys(
            by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[18]/td[2]/div[1]/div[1]/div/div[1]/input'),
            '50000'
        )

        # 預計金額是否公開
        click(by_xpath('//*[@id="tr_estimatedProcIsPdt"]/td[2]/div[1]/div[1]/label'))

        # 後續擴充
        click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[20]/td[2]/div[1]/label[2]'))
        send_keys(
            by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[20]/td[2]/div[1]/div/textarea'),
            'AAA\nBBB\nCCC\nDDD'
        )

        # 是否受機關補助
        # 是
        # click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[21]/td[2]/div[1]/div[1]/label'))
        # send_keys(
        #     by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[21]/td[2]/div[1]/div[2]/table/tbody/tr[1]/td[2]/div/div/div[1]/input'),
        #     '3'
        # )
        # click(by_tag_name('body'))
        # send_keys(
        #     by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[21]/td[2]/div[1]/div[2]/table/tbody/tr[2]/td[2]/div/div/div[1]/input'),
        #     '500'
        # )
        # click(by_tag_name('body'))
        # 否
        click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[21]/td[2]/div[1]/div[3]/label'))

        # 本案是否曾以不同案號辦理招標公告且已傳輸其無法決標公告,目前仍未決標
        click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/table/tbody/tr[22]/td[2]/div[1]/div[2]/label'))

        # 下一頁
        click(by_xpath('/html/body/div[2]/div/div[5]/div[2]/form/div[3]/a[2]'))
    elif tender_way == 1:
        try:
            # 標案名稱
            send_keys(by_id('tenderName'), file_name)
            # 標的分類
            send_keys(by_id('fkDmsProctrgCode'), '5111')
            click(by_tag_name('body'))
            wait(2)

            # 工程計畫編號
            send_keys(by_id('planNo'), '12345')

            # 以下根據狀況comment
            # case 1
            # 本採購案是否屬於建築工程 => 第一項
            click(by_xpath('//*[@id="IsBuild"]/td[2]/div[1]/label[1]'))

            # # case 2
            # # 本採購案是否屬於建築工程 => 第二項 => 輸入金額5百萬 => 是 => 否 => 是 => 是
            # click(get_by_xpath('//*[@id="IsBuild"]/td[2]/div[1]/label[2]'))
            # # 輸入金額5百萬
            # send_keys(
            #     get_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[5]/td[2]/div[1]/div[1]/table/tbody/tr[1]/td[2]/span/div/div[1]/input'),
            #     '5000000'
            # )
            # # 是
            # click(
            #     get_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[5]/td[2]/div[1]/div[1]/table/tbody/tr[3]/td/div/div/div[1]/label')
            # )
            # # 否
            # click(
            #     get_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[5]/td[2]/div[1]/div[1]/table/tbody/tr[4]/td/div/div[2]/div[2]/label')
            # )
            # # 是
            # click(
            #     get_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[5]/td[2]/div[1]/div[1]/table/tbody/tr[5]/td/div/div[2]/div[1]/label')
            # )
            # # 是
            # click(
            #     get_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[5]/td[2]/div[1]/div[1]/table/tbody/tr[6]/td/div/div[2]/div[1]/label')
            # )

            # # case 3
            # # 本採購案是否屬於建築工程 => 第三項 => 輸入金額5百萬
            # click(get_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[5]/td[2]/div[1]/input[3]'))
            # # 輸入5百萬
            # send_keys(
            #     get_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[5]/td[2]/div[1]/div[2]/table/tbody/tr[1]/td[2]/span/div/div[1]/input'),
            #     '5000000'
            # )

            # # case 4
            # # 本採購案是否屬於建築工程
            # click(get_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[5]/td[2]/div[1]/label[3]'))

            # # case 5
            # # 本採購案是否屬於建築工程
            # click(get_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[5]/td[2]/div[1]/label[4]'))

            # 財物採購性質
            select = Select(by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[7]/td[2]/div[1]/select'))
            select.select_by_value('1')

            # 採購金額 => 輸入5億
            send_keys(
                by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[8]/td[2]/div[1]/div/div/div[1]/input'),
                '500000000'
            )

            # 根據狀況comment
            # # 有無已簽准預期使用情形及效益目標 => 有

            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[10]/td[2]/div[1]/div[1]/label').click()

            # 有無已簽准預期使用情形及效益目標 => 無 => 第一項
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[10]/td[2]/div[1]/div[2]/label').click()
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[10]/td[2]/div[1]/span[2]/input[1]').click()

            # 辦理方式
            # 自辦(會loading, 設等待秒數)
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[11]/td[2]/div[1]/div[1]/label').click()
            driver.implicitly_wait(3)
            # # 代辦 => 輸入機關
            # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[11]/td[2]/div[1]/div[2]/label').click()
            # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[11]/td[2]/div[1]/div[2]/div/div[2]/div/div/div[1]/input').send_keys('9.99')
            # driver.find_element_by_tag_name('body').click()
            # driver.implicitly_wait(2)

            # 依據法條
            select = Select(driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[12]/td[2]/div[1]/select'))
            select.select_by_value('4') # 採購法第18條、第19條

            # 是否適用條約或協定之採購 WTO
            # 是否適用WTO政府採購協定(GPA)
            # driver.find_element_by_xpath('//*[@id="radio_GPA2_isApplied"]').click()
            # 是否適用臺紐經濟合作協定(ANZTEC)
            # driver.find_element_by_xpath('//*[@id="radio_ANZTEC_isApplied"]').click()
            # 是否適用臺星經濟夥伴協定(ASTEP)
            # driver.find_element_by_xpath('//*[@id="radio_ASTEP_isApplied"]').click()

            # 是否採用電子競價
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[14]/td[2]/div[1]/div[2]/label').click()

            # 本採購是否屬「具敏感性或國安(含資安)疑慮之業務範疇」採購 => 是
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[16]/td[2]/div[2]/div[1]/label').click()

            # 本採購是否屬「涉及國家安全」採購 => 是
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[17]/td[2]/div[2]/div[1]/label').click()

            # 預算金額
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[18]/td[2]/div[1]/div[1]/div/div[1]/input').send_keys('500000000')

            # 預算金額是否公開
            # 是
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[19]/td[2]/div[1]/div[1]/label').click()
            # # 否 => 轉售或供製造、加工後轉售之採購 or 預算金額涉及商業機密 or 機關認為不宜公開
            # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[19]/td[2]/div[1]/div[2]/label').click()
            # select = Select(driver.find_element_by_id('budgetNopubReason'))
            # select.select_by_value('轉售或供製造、加工後轉售之採購')
            # # select.select_by_value('預算金額涉及商業機密')
            # # select.select_by_value('機關認為不宜公開')

            # 預計金額 => 輸入5億
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[20]/td[2]/div[1]/div/div/div[1]/input').send_keys('500000000')

            # 預計金額是否公開 => 是
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[21]/td[2]/div[1]/div[1]/label').click()

            # 後續擴充
            # 否
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[22]/td[2]/div[1]/div[1]/label').click()
            # 是 => 輸入說明
            # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[22]/td[2]/div[1]/div[2]/label').click()
            # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[22]/td[2]/div[1]/div[3]/textarea').send_keys('測試測試\n測試測試\n測試測試')

            # 是否受機關補助
            # 否
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[23]/td[2]/div[1]/div[3]/label').click()
            # 是 => 新增一筆
            # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[23]/td[2]/div[1]/div[1]/label').click()
            # driver.find_element_by_id('input_orgId_0').send_keys('3')
            # driver.find_element_by_tag_name('body').click()
            # driver.find_element_by_id('tpamOrgAidMoney_0').send_keys('50000')
            # driver.find_element_by_tag_name('body').click()
            # driver.implicitly_wait(2)

            # 本案是否曾以不同案號辦理招標公告且已傳輸其無法決標公告,目前仍未決標
            # 否
            driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[24]/td[2]/div[1]/div[2]/label').click()
            # # 是
            # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[24]/td[2]/div[1]/div[1]/label').click()
            # # 前案採購資訊
            # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[25]/td[2]/div/div[1]/div/div[1]/input').send_keys('9.99') # 前案機關代碼
            # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div[1]/form/table/tbody/tr[25]/td[2]/div/div[2]/input[1]').send_keys('12345') # 前案標案案號

            # 下一頁
            driver.find_element_by_xpath('//*[@id="DirectForm"]/div[3]/a[2]').click()
        except Exception:
            # 中間有錯, 跳過, 直接下一頁
            driver.find_element_by_xpath('//*[@id="DirectForm"]/div[3]/a[2]').click()
def fill_var_page(tender_way):
    if tender_way == 12:
        clear(by_xpath('//*[@id="deptCharge1"]'))
        send_keys(by_xpath('//*[@id="deptCharge1"]'), '0')
        wait(1)
        # driver.find_element_by_id('docChargeExpRsn').send_keys('abc \n def \ ghi')
        # driver.find_element_by_id('dcIdstrName').send_keys('台灣中油股份有限公司')
        # driver.find_element_by_id('dcOidstrName').send_keys('採購處')
        # driver.find_element_by_id('bankAccountName').send_keys('台灣中油股份有限公司')

        click(by_xpath('//*[@id="div_isEsubmitY"]/div[1]/div/label[1]'))
        click(by_xpath('//*[@id="div_isEsubmitY"]/div[2]/div/label[1]'))

        # 截止投標日期
        send_keys(by_id('waitDay'), '7')
        click(by_tag_name('body'))

        date_value = by_id('label_spdtDate').get_attribute('innerHTML')
        send_keys(by_id('opdtDateInput'), date_value)
        click(by_tag_name('body'))

        # is_Deposite_Y
        click(
            by_xpath(
                '//*[@id="DirectForm"]/table/tbody/tr[6]/td[2]/div[1]/div/div[3]/label'
            ))
        # driver.find_element_by_id('tenderDepositeY').send_keys('1000')
        # 投標文字
        click(
            by_xpath(
                '//*[@id="DirectForm"]/table/tbody/tr[7]/td[2]/div[1]/label[1]'
            ))

        # 下一頁
        click(by_xpath('/html/body/div[2]/div/div[5]/div[7]/form/div[3]/a[2]'))

    elif tender_way == 2:
        # 是否提供電子領標 => 招標文件售價及付款方式
        send_keys(
            by_xpath(
                '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[1]/td[2]/div[1]/div/div[2]/div[3]/div/div[1]/div[2]/div[2]/div[2]/input'
            ), '現金')

        # 是否提供電子投標
        click(
            by_xpath(
                '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[2]/td[2]/div[1]/div/div[1]/label'
            ))

        # 截止投標 => 等標天數
        send_keys(
            by_xpath(
                '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[3]/td[2]/div[1]/div[1]/input[2]'
            ), '7')
        date_value = by_xpath('//*[@id="label_spdtDate"]').get_attribute(
            'innerHTML')

        # 開標時間
        send_keys(
            by_xpath(
                '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[4]/td[2]/div[1]/div/div[2]/div/div/input[1]'
            ), date_value)

        # 是否須繳納押標金
        click(
            by_xpath(
                '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[6]/td[2]/div[1]/div/div[3]/label'
            ))

        # 是否須繳納押標金
        click(
            by_xpath(
                '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[6]/td[2]/div[1]/div/div[3]/label'
            ))

        # 投標文字
        click(
            by_xpath(
                '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[7]/td[2]/div[1]/label[1]'
            ))

        # 下一頁
        click(by_xpath('/html/body/div[2]/div/div[5]/div[7]/form/div[3]/a[2]'))
    elif tender_way == 1:
        # 是否提供電子領標 => 預設都選是
        # 招標文件售價及付款方式
        driver.find_element_by_xpath('//*[@id="costPayPhyObtain"]').send_keys(
            '現金')

        # 是否提供電子投標
        # 是
        driver.find_element_by_xpath(
            '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[2]/td[2]/div[1]/div/div[1]/label'
        ).click()

        # 截止投標
        # 等待天數
        driver.find_element_by_xpath(
            '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[3]/td[2]/div[1]/div[1]/input[2]'
        ).send_keys('26')
        driver.find_element_by_tag_name('body').click()
        # label_spdtDate
        date_value = driver.find_element_by_xpath(
            '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[3]/td[2]/div[1]/div[1]/span/label'
        ).get_attribute('innerHTML')

        # 開標時間
        driver.find_element_by_xpath(
            '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[4]/td[2]/div[1]/div/div/div/div/input[1]'
        ).send_keys(date_value)
        driver.find_element_by_tag_name('body').click()

        # 是否須繳納押標金 => 否
        driver.find_element_by_xpath(
            '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[6]/td[2]/div[1]/div/div[3]/label'
        ).click()

        # 投標文字 => 正體中文
        driver.find_element_by_xpath(
            '/html/body/div[2]/div/div[5]/div[7]/form/table/tbody/tr[7]/td[2]/div[1]/div[1]/label'
        ).click()

        # 下一頁
        driver.find_element_by_xpath(
            '/html/body/div[2]/div/div[5]/div[7]/form/div[2]/a[2]').click()
def fill_dep_page():
    driver.find_element_by_xpath('//*[@id="telExt"]').clear()
    driver.find_element_by_xpath('//*[@id="telExt"]').send_keys('1234')
    driver.find_element_by_xpath('//*[@id="faxCountry"]').clear()
    driver.find_element_by_xpath('//*[@id="faxCountry"]').send_keys('886')
    driver.find_element_by_xpath('//*[@id="faxNo"]').clear()
    driver.find_element_by_xpath('//*[@id="faxNo"]').send_keys('87899033')
    driver.find_element_by_xpath('//*[@id="DirectForm"]/div[3]/a').click()
예제 #7
0
def by_xpath(path):
    return driver.find_element_by_xpath(path)
def fill_info_page(tender_way):
    if tender_way == 12:
        click(by_xpath('//*[@id="DirectForm"]/table/tbody/tr[9]/td[2]/div[1]/div[2]/label'))

        # 是否訂有底價 => 否 => 採購法第47條第1項第1款
        click(by_xpath('//*[@id="DirectForm"]/table/tbody/tr[9]/td[2]/div[1]/div[2]/label'))
        click(by_xpath('//*[@id="div_isGovernmentEstimate"]/div[1]/label'))

        click(by_xpath('//*[@id="DirectForm"]/table/tbody/tr[18]/td[2]/div[1]/div[2]/label'))

        # 下一頁
        click(by_xpath('/html/body/div[2]/div/div[5]/div/form/div[3]/a[3]'))

    elif tender_way == 2:
        # 是否訂有底價 => 否 => 第一項
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[9]/td[2]/div[1]/div[2]/label'))
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[9]/td[2]/div[1]/div[2]/div/div[1]/label'))

        # 是否屬特殊採購
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[17]/td[2]/div[1]/div/div[2]/label'))

        # 是否屬統包
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[19]/td[2]/div[3]/div/div[1]/label'))
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[19]/td[2]/div[3]/div/div[1]/div/table/tbody/tr[1]/td[2]/input[1]'))
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[19]/td[2]/div[3]/div/div[1]/div/table/tbody/tr[2]/td[2]/input[1]'))

        # 本案完成後所應達到之功能、效益、標準、品質或特性(填列摘要情形,限填500個中文字)
        send_keys(
            by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[23]/td[2]/div[1]/textarea'),
            'AAA\nBBB\nCCC\nDDD'
        )

        # 是否屬二以上機關之聯合採購(不適用共同供應契約規定)
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[25]/td[2]/div[1]/div[2]/label'))

        # 是否屬國際競圖之採購 => 是 => 是 => 是
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[27]/td[2]/div[1]/div[1]/label'))
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[27]/td[2]/div[1]/div[1]/div/div/table/tbody/tr[1]/td[2]/input[1]'))
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[27]/td[2]/div[1]/div[1]/div/div/table/tbody/tr[2]/td[2]/input[1]'))

        # 是否採行協商措施
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[28]/td[2]/div[1]/div/div[1]/label'))

        # 是否適用採購法第104條或105條或招標期限標準第10條或第4條之1
        # 是 => select選1
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[29]/td[2]/div[1]/div[1]/label'))
        select = Select(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/table/tbody/tr[29]/td[2]/div[1]/div[2]/select'))
        select.select_by_value('6')

        # 下一頁
        click(by_xpath('/html/body/div[2]/div/div[5]/div[3]/form/div[3]/a[2]'))

    elif tender_way == 1:
        # 是否訂有底價
        # 是
        driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[9]/td[2]/div[1]/div[1]/label').click()
        # # 否 => 選第一項: 採購法第47條第1項第1款
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[9]/td[2]/div[1]/div[2]/label').click()
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[9]/td[2]/div[1]/div[3]/p[1]/label').click()

        # 是否屬特殊採購
        driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[17]/td[2]/div[1]/div/div[1]/label').click()

        # 是否已辦理公開閱覽, 預設: 否
        # 選select
        # select = Select(driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[18]/td[2]/div[1]/div[3]/div[2]/select'))
        # select.select_by_value('政府採購法第22條第1項第3款')

        # 是否屬統包
        # 否
        driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[19]/td[2]/div[1]/div/div[4]/label').click()
        # # 是, 1. 2. 都選是
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[19]/td[2]/div[1]/div/div[2]/label').click()
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[19]/td[2]/div[1]/div/div[3]/div[2]/div[2]/label[1]').click()
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[19]/td[2]/div[1]/div/div[3]/div[2]/div[4]/label[1]').click()
        # 本案完成後所應達到之功能、效益、標準、品質或特性 (填列摘要情形,限填500個中文字)
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[23]/td[2]/div[1]/textarea').send_keys('測試測試\n測試測試\n測試測試')

        # 是否屬二以上機關之聯合採購(不適用共同供應契約規定)
        # 是
        driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[25]/td[2]/div[1]/div[1]/label').click()
        # 否
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[25]/td[2]/div[1]/div[2]/label').click()

        # 是否屬國際競圖之採購
        # 否
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[27]/td[2]/div[1]/div[3]/label').click()
        # # 是, 1. 2. 都選是
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[27]/td[2]/div[1]/div[1]/label').click()
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[27]/td[2]/div[1]/div[2]/div[2]/div[2]/label[1]').click()
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[27]/td[2]/div[1]/div[2]/div[2]/div[4]/label[1]').click()

        # 是否採行協商措施 => 是
        driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[28]/td[2]/div[1]/div/div[1]/label').click()

        # 是否適用採購法第104條或105條或招標期限標準第10條或第4條之1
        # 否
        driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[29]/td[2]/div[1]/div[3]/label').click()
        # # 是 => 2. 公營事業為商業性轉售或用於製造產品、提供服務以供轉售目的所為之採購,基於採購案件之特性或實際需要,有縮短等標期之必要者
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[29]/td[2]/div[1]/div[1]/label').click()
        # select = Select(driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[29]/td[2]/div[1]/div[2]/select'))
        # select.select_by_value('2')

        # 是否依據採購法第106條第1項第1款辦理
        # 否
        driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[30]/td[2]/div[1]/div/div[3]/label').click()
        # 是
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[30]/td[2]/div[1]/div/div[1]/label').click()
        # driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/table/tbody/tr[30]/td[2]/div[1]/div/div[2]/div[1]/input').send_keys('9.99')
        # 駐在地國別
        # driver.find_element_by_xpath('//*[@id="fkForeignNation_chosen"]').click()
        # driver.find_element_by_xpath('//*[@id="fkForeignNation_chosen"]/a/span').text = '美國(United States of America)' # .send_keys('美國(United States of America)')
        # driver.find_elements_by_tag_name('body').send_keys(Keys.ENTER)

        # 下一頁
        driver.find_element_by_xpath('/html/body/div[2]/div/div[5]/div/form/div[2]/a[2]').click()
예제 #9
0
def fill_upload_file_page(tender_way):
    if tender_way == 1:
        # 目前先跳過
        driver.find_element_by_xpath('//*[@id="Next_page"]').click()