ProjectForStudy

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 141|ตอบกลับ: 5

[ถาม/ตอบ] Windows Service มีปัญหากับ WebBrowser ครับ

[คัดลอกลิงก์]
  • อารมณ์วันนี้
    ง่วง
    2019-10-16 09:05
  • เช็คชื่อแล้ว: 98 วัน

    [LV.6]JuniorII

    15

    กระทู้

    229

    โพสต์

    870

    เครดิต

    TeenLion

    Rank: 3Rank: 3

    เครดิต
    870
    Ticket
    320
    จิตพิสัย
    550
    แก้ไขครั้งสุดท้ายโดย pattaphol เมื่อ 2019-8-31 16:12

    พอดีโปรเจ็คที่ทำ คือ ให้ดึง อัตราแลกเปลี่ยน จากธนาคารแห่งประเทศไทย มาเก็บในฐานข้อมูลเพื่อจะนำอัตราซื้อ-ขาย ไปใช้งานต่อไปครับ
    เบื้องต้น ลองดูพวก API แล้ว แต่ยัง งงๆ อยู่ (มีตัวอย่าง API จากเว็บ แต่เป็น C# Web App ลองหาวิธีให้เป็น Win App ได้ แต่ก็ดึงค่ามาไม่ได้ครับ)
    ดันไปเห็นอีกวิธีคือใช้ WebBrowser โหลด อัตราแลกเปลี่ยน จากธนาคารแห่งประเทศไทย โค้ดโหลด
    1. Web.ObjectForScripting = True
    2. Web.ScriptErrorsSuppressed = True
    3. Web.Navigate("https://www.bot.or.th/thai/_layouts/application/exchangerate/exchangerate.aspx")
    คัดลอกไปที่คลิปบอร์ด

    เมื่อโหลดเสร็จ (DocumentCompleted) ก็ใช้โค้ดประมาณนี้ครับ
    1. <blockquote>For Each h As HtmlElement In Web.Document.GetElementsByTagName(txtTagName.Text)
    คัดลอกไปที่คลิปบอร์ด

    ที่เข้าใจจากโค้ดข้างต้นคือ ไล่วนลูปจาก TagName ของเว็บ แล้วดูว่าค่าไหนตรงกับข้อมูลที่แสดงในเว็บ แล้วดึงค่าจาก Tagname นั้นมาครับ ต่อไปก็นำค่าที่เก็บมา (strText) มาอ่านค่าแล้วบันทึกลงฐานข้อมูลครับ
    (แต่ที่ผมทำคือ เปิด Chrome แล้วเข้าเว็บ แล้วคลิกขวาตรงที่ว่าง ๆ แล้วเลือก ดูรหัสต้นฉบับ แล้วหา Tagname ที่มีค่าตรงกับที่ผมต้องการครับ)

    เข้าประเด็นนะครับ ตอนแรกรันทดสอบโค้ดที่ New Project Windows Application ปรกติ ไม่มีปัญหาครับ
    แต่พอไป New Project เป็น Service เกิดปัญหาคือ เวลาให้ WebBrowser โหลด อัตราแลกเปลี่ยน จากธนาคารแห่งประเทศไทย เกิด Error บรรทัดนี้ครับ
    1. Web.ObjectForScripting = True
    คัดลอกไปที่คลิปบอร์ด
    Error ว่า
    "Object reference not set to an instance of an object."

    ลองหาวิธีแก้ก็ยัง งง ๆ อยู่ ช่วยชี้แนะด้วยครับ เป็นวิธีแก้ไข หรืออะไรที่ดีกว่านี้ หรือเป็น API ได้ยิ่งดีครับ ขอบคุณครับ


  • อารมณ์วันนี้
    เศร้า
    2019-9-26 17:01
  • เช็คชื่อแล้ว: 17 วัน

    [LV.4]BeginnerIII

    3

    กระทู้

    57

    โพสต์

    53

    เครดิต

    BabyGhost

    Rank: 1

    เครดิต
    53
    Ticket
    1
    จิตพิสัย
    52
    noomhk โพสต์ 2019-9-3 23:37:39 | ดูโพสต์ทั้งหมด
    ขอบคุณครับ
  • อารมณ์วันนี้
    ง่วง
    2019-10-16 09:05
  • เช็คชื่อแล้ว: 98 วัน

    [LV.6]JuniorII

    15

    กระทู้

    229

    โพสต์

    870

    เครดิต

    TeenLion

    Rank: 3Rank: 3

    เครดิต
    870
    Ticket
    320
    จิตพิสัย
    550
     เจ้าของ| pattaphol โพสต์ 2019-9-9 13:57:39 | ดูโพสต์ทั้งหมด
    .....................
  • อารมณ์วันนี้
    แฮปปี้
    2019-9-10 13:31
  • เช็คชื่อแล้ว: 1 วัน

    [LV.1]NewBie

    0

    กระทู้

    26

    โพสต์

    23

    เครดิต

    BabyGhost

    Rank: 1

    เครดิต
    23
    Ticket
    2
    จิตพิสัย
    21
    kanglove โพสต์ 2019-9-10 17:44:53 | ดูโพสต์ทั้งหมด
    ขอบคุณ ครับ
  • อารมณ์วันนี้
    แฮปปี้
    18 ชั่วโมงที่แล้ว
  • เช็คชื่อแล้ว: 410 วัน

    [LV.9]ConquerorII

    31

    กระทู้

    799

    โพสต์

    5083

    เครดิต

    RapterClaw

    Rank: 5Rank: 5

    เครดิต
    5083
    Ticket
    3197
    จิตพิสัย
    1886

    Merciful MemberInstructor

    puklit โพสต์ 2019-9-14 08:56:51 | ดูโพสต์ทั้งหมด
    ผมก็ยังไม่เคยเขียนงานในลักษณะนี้ แต่บังเอิญเจอบทความหนึ่งไม่รู้ว่าท่านเคยอ่านหรือยังครับ
    https://medium.com/readmoreth/consume-bank-of-thailand-api-using-c-net-c7595f5efd22
  • อารมณ์วันนี้
    ง่วง
    2019-10-16 09:05
  • เช็คชื่อแล้ว: 98 วัน

    [LV.6]JuniorII

    15

    กระทู้

    229

    โพสต์

    870

    เครดิต

    TeenLion

    Rank: 3Rank: 3

    เครดิต
    870
    Ticket
    320
    จิตพิสัย
    550
     เจ้าของ| pattaphol โพสต์ 2019-9-18 16:51:51 | ดูโพสต์ทั้งหมด
    puklit ตอบกลับเมื่อ 2019-9-14 08:56
    ผมก็ยังไม่เคยเขียนงานในลักษณะนี้ แต่บังเอิญเจอบทคว ...

    ขอบคุณครับ คุณ puklit
    ผมได้อ่านและลองมาแล้วครับ แต่ติดตรงที่ตัวระบบที่ทำต้องใช้ .Net 4.0 เลยข้ามไปก่อนครับ (พยายามหาแปลงให้ได้แต่ก็ไม่ไหวครับ ตอนนี้เลยใช้ For วน Tag ของเว็บแทนครับ *แต่ยังไม่ลอง .Net 4.6 ตามตัวอย่างครับ*)
    ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

    รายละเอียดเครดิต

    ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|ProjectForStudy  

    GMT+7, 2019-11-14 18:57 , Processed in 0.061626 second(s), 27 queries .

    Powered by Discuz! X3.2 R20150609, Rev.38

    © 2001-2013 Comsenz Inc.

    ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้