返回列表 上一主題 發帖

[發問] 網頁登入-按鈕問題!

回復 1# die78325
試試看
myWeb.Document.all("c_psd").Click

TOP

回復 3# die78325
是攸關公司配合的帳號密碼  不方便在此PO語法或檔案
可參考看看
  1. Option Explicit
  2. Sub 麻辣家族討論版用戶登錄()
  3.    Dim IE As New InternetExplorer, i As Integer, vDoc As Object
  4.     '宣告 Dim ie As New InternetExplorer
  5.     '須在工具-> 設定引用項目加入 新增引用 Microsoft Internet Controls
  6.     'Dim i As Integer, vDoc As Object
  7.     'With CreateObject("InternetExplorer.Application") '不需新增引用 Microsoft Internet Controls
  8.     With IE
  9.         .Visible = True
  10.         .Navigate "http://forum.twbts.com/logging.php?action=login"
  11.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  12.         Set vDoc = .Document.getElementsByTagName("INPUT")
  13.         For i = 0 To vDoc.Length - 1
  14.             If vDoc(i).Name = "username" Then vDoc(i).Value = "?????"    '用戶名稱 請修改
  15.             If vDoc(i).Name = "password" Then vDoc(i).Value = "*******"  '用戶密碼 請修改
  16.         Next
  17.         Set vDoc = .Document.getElementsByTagName("button") '.Click
  18.         For i = 0 To vDoc.Length - 1
  19.             If vDoc(i).Name = "loginsubmit" Then vDoc(i).Click
  20.         Next
  21.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  22.     End With
  23. End Sub
  24. Sub 麻辣家族討論版用戶退出()
  25. Dim i As Integer, vDoc As Object
  26.      With CreateObject("InternetExplorer.Application") '不需新增引用 Microsoft Internet Controls
  27.         .Visible = True
  28.         .Navigate "http://forum.twbts.com/logging.php?action=logout&formhash=053f893b"
  29.         .Quit           '關閉網頁
  30.     End With
  31. End Sub
複製代碼

TOP

本帖最後由 GBKEE 於 2012-12-3 16:16 編輯

回復 5# die78325
每一網頁會有差異的.可從檢視原始檔案中看出端倪.
  1. Option Explicit
  2. Sub 用戶登錄()
  3. '  Dim IE As New InternetExplorer, i As Integer, vDoc As Object
  4.     '宣告 Dim ie As New InternetExplorer
  5.     '須在工具-> 設定引用項目加入 新增引用 Microsoft Internet Controls
  6.     Dim i As Integer, vDoc As Object
  7.     With CreateObject("InternetExplorer.Application") '不需新增引用 Microsoft Internet Controls
  8.     'With IE
  9.         .Visible = True
  10.         .Navigate "http://www.slc.com.tw/custom/gas/custom/index.php"
  11.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  12.         Set vDoc = .Document.getElementsByTagName("INPUT")
  13.         For i = 0 To vDoc.Length - 1
  14.             If vDoc(i).Name = "f_account" Then vDoc(i).Value = "8888"    '用戶名稱 請修改
  15.             If vDoc(i).Name = "f_psd" Then vDoc(i).Value = "8888"  '用戶密碼 請修改
  16.             If vDoc(i).Value = "確定" Then vDoc(i).Click           '用戶Click
  17.         Next
  18.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  19.     End With
  20. End Sub
複製代碼

TOP

回復 7# die78325
攸關這網頁安全,我也無法看到網頁替你修正
可參考這網頁的寫法
  1. Sub 國際貨查詢()
  2.     Dim i As Integer, s As Integer, k As Integer, n, kn, j, xi
  3.     Dim Element, 統編 As String, ie As Object, sh As Worksheet
  4.         統編 = 16834268
  5.     Set ie = CreateObject("InternetExplorer.Application")
  6.     With ie
  7.         .Visible = True
  8.         .Navigate "http://public-cpd.mtnet.gov.tw/pub_newquery/query_national.asp"
  9.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  10.         With .Document
  11.             Set Element = .getElementsByName("sel")  '查詢類別
  12.             '0: 繳納單號
  13.             '1: 報單號碼
  14.             '2: 公司統編(身分證字號):  "id"[公司統編] ,"sel01" [選項] , "portcode"[港別]
  15.             Element(2).Click  '2: 公司統編(身分證字號)
  16.             Set Element = .getElementsByName("id") '[選項]
  17.             Element(0).Value = 統編
  18.             .getElementsByName("sel01")(0).Value = 2
  19.             '[選項]:<select name="sel01">
  20.              'value='1'>欠費清單 ' value='2' 所有繳納單
  21.             .getElementsByName("portcode")(0).Value = "TWKEL"
  22.             '[港別]: <select name="portcode">
  23.              'value='-'>所有港
  24.              'value='TWKEL' ->基隆港
  25.              'value='TWKHH' ->高雄港
  26.              'value='TWTXG' ->台中港
  27.              'value='TWHUN' ->花蓮港
  28.              'value='TWTPE' ->台北港
  29.              'value='TWSUO' ->蘇澳港
  30.              'value='TWANP' ->安平港
  31.              'value='TWBDA' ->布袋港
  32.             For i = 0 To .getelementsbytagname("INPUT").Length - 1              '尋找[開始查詢]按鍵
  33.                 If .getelementsbytagname("INPUT")(i).Value = "開始查詢" Then
  34.                     .getelementsbytagname("INPUT")(i).Click                     '按下 [開始查詢] 按鍵
  35.                     Exit For
  36.                 End If
  37.             Next
  38.             Do While ie.Busy Or ie.ReadyState <> 4: DoEvents: Loop
  39.             Set sh = ActiveSheet                                                '指定工作表: 寫入資料
  40.             ActiveSheet.UsedRange.Offset(1).Clear
  41.             For i = 1 To .getelementsbytagname("table")(0).Rows.Length - 1      '寫入資料
  42.                 k = k + 1
  43.                 For j = 0 To 13
  44.                     sh.Cells(k, j + 1) = .getelementsbytagname("table")(0).Rows(i).Cells(j).innertext
  45.                     If i = .getelementsbytagname("table")(0).Rows.Length - 1 Then Exit For   '最後一列顯示資料數
  46.                 Next
  47.             Next
  48.             sh.Columns.AutoFit
  49.         End With
  50.                .Quit
  51.     End With
  52.     Set ie = Nothing        
  53. End Sub
複製代碼
***********
或可參考這做法
***********

TOP

回復 10# die78325
每一網頁的設計都不一樣
  1. Option Explicit
  2. Sub 用戶登錄()
  3. '  Dim IE As New InternetExplorer, i As Integer, vDoc As Object
  4.     '宣告 Dim ie As New InternetExplorer
  5.     '須在工具-> 設定引用項目加入 新增引用 Microsoft Internet Controls
  6.     Dim i As Integer, vDoc As Object
  7.     With CreateObject("InternetExplorer.Application") '不需新增引用 Microsoft Internet Controls
  8.     'With IE
  9.         .Visible = True  'IE顯示開關
  10.         Application.StatusBar = "正在登入系統,請稍後......"
  11.         .Navigate "http://car.plusgroup.com.tw:8080/corpdata_new/"
  12.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  13.         Set vDoc = .document.getelementsbytagname("INPUT")
  14.         For i = 0 To vDoc.Length - 1
  15.             If vDoc(i).Name = "rcptid" Then
  16.                 vDoc(i).Value = "88888888"      '統編輸入
  17.                 Application.SendKeys ("~")      '按下Enter 移到密碼框
  18.             ElseIf vDoc(i).Name = "password" Then
  19.                 vDoc(i).Value = "66666666"      '密碼輸入
  20.                 Application.SendKeys ("~")
  21.                 '統編,密碼 都有輸入,按下Enter後,此網頁自動檢查統編,密碼是否正確
  22.                 '不用按[登 入]鍵
  23.             End If
  24.         Next
  25.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  26.     End With
  27.     Application.StatusBar = False
  28. End Sub
複製代碼

TOP

回復 12# die78325
啊!網頁的設計.我涉獵不多,你的問題無法再進一步地替你解惑.

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題