Board logo

標題: 遇到不是IE的原件,該如何自動登入? [打印本頁]

作者: av8d    時間: 2014-9-25 13:31     標題: 遇到不是IE的原件,該如何自動登入?

本帖最後由 GBKEE 於 2016-4-26 10:45 編輯

<input name="account" id="account" type="text" size="18"/>
<input name="passwd" id="passwd" onkeypress="dologin(event)" type="password"/>
前面兩個
一個是帳號欄位account
就會寫成 .Document.all("").Value = "AAA"
一個是密碼欄位passwd
就會寫成 .Document.all("").Value = "AAA"
如果按鈕卻出現以下原件,似乎不是IE系列的
<input onclick="checkInput('submit');" type="button" value="登入"/>
該如何填寫裡面的名稱? .Document.all("").Click

正常IE系列的會是這樣
<input name="butLogin" id="butLogin" language="javascript" onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " type="submit" value="登入"/>
就會寫成 .Document.all("butLogin").Click
作者: GBKEE    時間: 2014-9-27 19:24

回復 1# av8d
  1. With .Document
  2.             Set A = .getElementsByTagName("input")
  3.             '<input name="account" id="account" type="text" size="18"/>
  4.             'name="account" <=通常都會一樣=> id="account"
  5.             A("account").Value = "AAA"
  6.             '<input name="passwd" id="passwd" onkeypress="dologin(event)" type="password"/>
  7.             'name="passwd" <=通常都會一樣=> id="passwd"
  8.             A("passwd").Value = "AAA"
  9.             '<input onclick="checkInput('submit');" type="button" value="登入"/>
  10.             '沒有 name ,也沒有id 但有type="button",value="登入"
  11.             Debug.Print A.Length - 1
  12.             For i = 0 To A.Length - 1
  13.                Debug.Print A(i).Type, A(i).Value
  14.                 If A(i).Type = "button" And A(i).Value = "登入" Then
  15.                     A(i).Click
  16.                     Exit For
  17.                 End If
  18.             Next            
  19.         End With
複製代碼

作者: av8d    時間: 2014-10-8 08:57

回復 2# GBKEE


input name 使用
With CreateObject("InternetExplorer.Application")
        .Navigate ""
        .Visible = True

        Do While .Busy Or .ReadyState <> 4
            DoEvents
        Loop
  .Document.all ("").Value = ""

select name則使用?
input type則使用?
作者: GBKEE    時間: 2014-10-8 09:43

回復 3# av8d
http://forum.twbts.com/thread-12601-1-1.html
作者: av8d    時間: 2014-10-9 00:00

回復 4# GBKEE

網址:http://www.otc.org.tw/web/stock/ ... o_analysis/pera.php   

    .Document.all("rdo_search_site").Click
    .Document.all("input_search_stk").Value = "1"

以上兩個分開做 -> 有效果
和在一起做則第一個無效果
求解,謝謝!

備註:
.Document.all("rdo_search_site").Click
以上這段是右上方選取全站搜尋的按鈕按下

.Document.all("input_search_stk").Value = "1"
以上這段是右上方在個股查詢右方輸入1
作者: GBKEE    時間: 2014-10-9 06:17

本帖最後由 GBKEE 於 2014-10-9 06:28 編輯

回復 5# av8d
  1. Option Explicit
  2. Sub Ex_網頁元素()
  3.     Dim i As Integer, E As Object
  4.     With CreateObject("InternetExplorer.Application")
  5.         .Visible = True
  6.         .Navigate "HTTp://www.otc.org.tw/web/stock/aftertrading/peratio_analysis/pera.php"
  7.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  8.          
  9.         With .Document
  10.           '*** 這段程式碼可查看這網頁的元素內容
  11.           '  On Error Resume Next
  12.           '  For Each E In .all
  13.           '      i = i + 1
  14.           '      Cells(i, "a") = E.tagname
  15.           '      Cells(i, "b") = E.ID
  16.           '      Cells(i, "c") = E.Name
  17.           '      Cells(i, "d") = E.Value
  18.           '      Cells(i, "e") = E.innertext
  19.           '      Cells(i, "f") = E.Type
  20.           '      Cells(i, "g") = E.href
  21.           '  Next
  22.           '****************************************
  23.             '*** 全站搜尋
  24.             .all("rdo_search_site").Click    '全站搜尋選項.Click,後相對應的text框會顯示
  25.             .all("input_search_site").Value = "3126"
  26.             Stop
  27.             '*** 個股查詢
  28.             .all("rdo_search_stk").Click
  29.             .all("input_search_stk").Value = "1256"
  30.             
  31.             '按下 搜尋鍵
  32.             .all("header_search_btn").Click
  33.         End With
  34.     '    .Quit        '關閉網頁
  35.     End With
  36. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)