Я не знаю, связана ли проблема с выбором имени с элементом, имеющим два атрибута имени, но это кажется возможным.
Вы можете использовать следующее.
Для поля поиска я использую его идентификатор для нацеливания на элемент. Обычно это уникальный документ и самый быстрый метод выбора.
Для кнопки поиска я использую атрибут CSS + селектор значения
[src*='/image/search.gif']
Здесь указывается атрибут src
[]
элемента по его значению. *
означает содержит. Селектор ищет атрибут src
, содержащий /image/search.gif
в своем значении.
Вы можете наблюдать атрибут здесь:
Option Explicit
Sub Searchstockcode()
Dim SearchString As String, SearchBox As Object, SearchButton As Object, ie As Object
SearchString = "700"
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://www.hkexnews.hk/listedco/listconews/advancedsearch/search_active_main.aspx"
While ie.Busy Or ie.readyState < 4: DoEvents: Wend
Set SearchBox = ie.document.getElementById("ctl00_txt_stock_code")
SearchBox.Value = SearchString
Set SearchButton = ie.document.querySelector("[src*='/image/search.gif']")
SearchButton.Click
While ie.Busy Or ie.readyState < 4: DoEvents: Wend
Stop '<==Delete me
'other code
ie.Quit
End Sub