2014-12-30 2 views
2

Я пытаюсь нажать на кнопку в таблице на веб-странице в IE, источник кнопки показывает:При нажатии на кнопку в таблице IE

<input type="image" src="img/testimg.png" onclick="picture_return(this,'92b84574a336a090618f151b6fc821cf:5','http://testwebpage.com/in/834');" value="Test Web Button"> 

Это часть большой стол с кратному <td> внутри источника, это в другой таблице, которая затем в следующий класс:

<div class="section_client_dnBox"> 

Я попытался пройти через несколько элементов в классе с помощью следующего кода VBA:

IE.Document.getElementsByClassName("section_client_dnBox")(0).Click 

Однако, не повезло, поскольку (0) не нажимал ничего и ничего большего, т. Е. (1) дал мне ошибку. Итак, теперь мой вопрос в основном заключается в том, есть ли способ щелкнуть кнопкой, используя что-то простое, например, указать на его значение в таблице (value = «Test Web Button»)?

+0

Просто из любопытства - почему вы используете VBA, когда 99,9% остальной части Интернета использует JS? – mpowered

+0

Целью этого кода является автоматизация IE. Я не уверен, что это легко достигается с помощью JS, а также у меня нет большого опыта работы с JS. –

+0

За какую конкретную задачу? Тестирование веб-страницы/приложения? Скребок экрана? Я думаю, что вам гораздо лучше использовать JS, поскольку он работает во всех браузерах и может делать практически все, что вам нужно. Там будет гораздо больше поддержки сообщества, когда вам нужна помощь, а также - очень немногие люди используют VBA для чего-либо в наши дни. – mpowered

ответ

3

Из моего опыта вам нужно посмотреть имя тега, а не имя класса. Это пример кода, который я обычно использую при поиске кнопок.

For Each MyHTML_Element In document.getElementsByTagName("input") 
    If MyHTML_Element.Type = "submit" Then 
     MyHTML_Element.Click: Exit For 
    End If 
Next 

Возможно, вы сможете изменить. type to = "image". Я тоже просто изучаю, как использовать автоматизацию IE в VBA, поэтому я тоже не чемпион. Надеюсь, это поможет.

+0

Спасибо вам большое! Это сработало отлично !!!!! –