2015-09-22 2 views
1

enter image description hereНе удалось нажать на вторую кнопку на веб-странице интрасети

Он не имеет ID элемент в второй элементы кнопки, кроме типа, значение и OnClick;

Ниже мой WebUI код

<input type="button" value="Download" 
onclick="javascript:__doPostBack('GridView1','Account_number$0')"> 

Ниже мой код VBA

Dim htmlDoc As HTMLDocument 
Dim MyBrowser As InternetExplorer 
Dim MyHTML_Element As IHTMLElement 
Dim myURL As String 

On Error GoTo Err_Clear 
myURL = "url......................." 
Set MyBrowser = New InternetExplorer 
MyBrowser.Silent = True 
MyBrowser.Navigate myURL 
MyBrowser.Visible = True 
Do 
Loop Until MyBrowser.ReadyState = READYSTATE_COMPLETE 
Set htmlDoc = MyBrowser.Document 

htmlDoc.all.txtAccNo.Value = "0" & "" & TextBox2.Value 
htmlDoc.all.ddlReasons.Value = "1" 
htmlDoc.all.txtRequester.Value = TextBox3.Text 'Enter your password here 
htmlDoc.all.txtMobNo.Value = "0" & "" & TextBox1.Value 
htmlDoc.all.txtLandLine.Value = "" 
htmlDoc.all.txtEmailAdd.Value = Range("E15") 
htmlDoc.all.ddlRelation.Value = "3" 
htmlDoc.all.button1.Click 

ошибка выдувного сценария второй кнопки

htmlDoc.getElementsByXpath("input[type=""button""]").Click 

Пожалуйста, помогите мне, как автоматизировать эту кнопку?

+0

не реагируют на код :( htmlDoc.getElementsByXpath («вход [тип =» «кнопка» «]») (0) .Нажмите –

ответ

0

Когда я сталкиваюсь с этим, я пытаюсь найти уникальный атрибут для рассматриваемого вяза. Причина этого в том, что на странице могут быть другие кнопки, которые вы не хотите кликать. Похоже, onclick и value уникальны для кнопки «Загрузить». Я выбрал value. Вот отдельная функция (для ясности), которая должна работать. Он должен щелкнуть по первой загруженной кнопке «Загрузить». Вы можете настроить его нажатием кнопки определенной строки, изменив эту функцию.

Function ClickDownload(doc As IHTMLDocument) As Long 
    On Error GoTo ErrHandler 
    Dim elms As IHTMLElementCollection 
    Dim elm As IHTMLElement 

    Set elms = doc.getElementsByTagName("input") 'gather all input elms 
    For Each elm In elms 'book through each input elm until we find a match 
    If elm.Value = "Download" Then 'the elm.value "Download" seems unique enough 
     elm.Click 
     GoTo ErrHandler 'jump out, and be sure to set vars to nothing 
    End If 
    Next 

ErrHandler: 
    Set elm = Nothing 
    Set elms = Nothing 
    ClickDownload = err.Number 'silently return 0 if it did not fail 
End Function 
+0

Благодаря найти атрибут, но по-прежнему не отвечает на ** второй ** кнопка ** Примечание: ** При загрузке кнопки _download_ требуется время для загрузки кнопки _download_ ** «View Bill» ** –

+1

np. Это звучит как отдельный вопрос, но я скажу, что он может получить сложный для работы с временем загрузки. Принесите объект WithEvents и поиграйте с URL-адресом DocumentComplete(), TextTextChange() Text, формируйте таймер, чтобы вызвать функцию boolean, которая ищет определенные элементы, прежде чем вы удалите страницу быть достаточно (достаточно). удача – PractLogical

+0

не получится **: (** любой идея ** ??? ** –

Смежные вопросы