Page 1 of 1

มีปัญหา การดึงข้อมูล ผ่านเว็บที่ต้อง login

Posted: Thu Aug 19, 2021 12:14 pm
by nutpojan

Code: Select all

Sub facebook()
    Dim ie As New InternetExplorer

   Set ie = New InternetExplorer
    ie.Visible = True

ie.navigate "http://retail.gec.co.th/RetailWeb/common/logon.do"
 ie.Visible = True
    
    Do
        DoEvents
    Loop Until ie.readyState = READYSTATE_COMPLETE
    
    ie.document.all.Item("companyID").Value = "cencer"
    ie.document.all.Item("userID").Value = "cencer"
        ie.document.all.Item("password").Value = "cencer"
    ie.document.all.Item("submitbutton").Click
   '_______________
   Application.Wait Now() + TimeValue("00:00:05")
Do
        DoEvents
    Loop Until ie.readyState = READYSTATE_COMPLETE
    
Dim ButtonElement As mshtml.HTMLDocument
Dim ButtonElement2 As mshtml.HTMLDocument
 ie.document.getElementsByonclick("menu2").Click
'____________________
Exit Sub
ผมสามารถที่จะ login เข้าได้แล้วแต่ ไม่สามารถ คลิกหัวข้อ ภายในหลังจาก login ได้

โดย
ติด debug ในบรรทัดที่ว่า

Code: Select all

 ie.document.getElementsByonclick("menu2").Click
ซึ่งผม ก็เอามาจาก หน้าองประกอบ ที่แสดง ครับ

Code: Select all

<A onclick="selectedMenu(2) ;MM_showHideLayers( 'DOCPALL','','hide' ,'CreditNoteCPALL','','hide' ,'PLCPALL','','hide' ,'ReturnCPALL','','hide' ,'POCPALL(BDC)','','hide' ,'InvoiceCPALL(BDC)','','hide' ,'Profile','','hide' ,'Organization','','hide' ,'CPALL','','hide' ,'HomeSupplier','','hide' ,'CPALL','','show')" id=menu2 class=hrefmenu href="/RetailWeb/po7BDCLoadAction.do?act=listPO" target=mainFrame>CP ALL</A>
ไฟล์ได้แนบมาให้แล้ว ครับ ต้องแก้ไขอย่างไรดีครับ

Re: มีปัญหา การดึงข้อมูล ผ่านเว็บที่ต้อง login

Posted: Thu Aug 19, 2021 7:44 pm
by snasui
:D ก่อนที่จะใช้ Code นี้ ie.document.getElementsByonclick("menu2").Click ไม่ทราบว่าหน้าเว็บแสดงแบบไหน และต้องการคลิก Object ไหนครับ

ที่ผมทดสอบคือได้มาตามภาพครับ
Error.png
หากจะคลิกปุ่ม Back สามารถใช้ Code นี้ครับ ie.document.getElementById("back").Click

Re: มีปัญหา การดึงข้อมูล ผ่านเว็บที่ต้อง login

Posted: Thu Aug 19, 2021 10:02 pm
by nutpojan
ตรงนั้น มันเป็น id pasword ครับ บอกไม่ได้เลย ตั้งชื่อไว้เป็นชั้นความลับ มีวิธีแก้code โดยที่ไม่ต้อง login เข้าไปทดสอบไหมครับ

Re: มีปัญหา การดึงข้อมูล ผ่านเว็บที่ต้อง login

Posted: Fri Aug 20, 2021 6:57 am
by snasui
:D หากเป็นเช่นนั้นผมไม่สามารถช่วยได้เพราะเบื้องต้นต้องเข้าไปยังหน้าเว็บนั้นได้เสียก่อน และแม้เข้าไปได้แล้วก็ยังจะต้องตรวจสอบว่ามี Object ใดที่แสดงออกมาให้ Code จับได้บ้าง ทั้งทดสอบก่อนว่า Code ที่เขียนไปสามารถเรียกใช้ Object ที่ต้องการได้ถูกต้องครับ