Вы не можете делать выбор родительского элемента с помощью селекторов css в vba (вы смотрите на родительские дочерние отношения, а не на родного брата).CSS каскадом вниз.Кроме того, в игру входит нечто, называемое специфичность .
Вам нужно написать селектор, который нацеливается на то, что вы хотите, или переключиться на селен и использовать xpath (хотя и не уверен, какая функциональность поддерживается в базовой реализации xpath для selenium).Ниже показаны подходящие два метода выбора CSS и опция XPath.
Вы можете использовать один и тот же принцип атрибута и оператора $ и нацелиться на src
[src$='xls.png']
Итак,
Set list = html.querySelectorAll("[src$='xls.png']")
Debug.Print list.item(0).src
Вы также можете использовать:
img[title=Excel]
Использование xpath и selenium basic для поиска родителей
Option Explicit
Public Sub GetParents()
Dim d As WebDriver, elements As Object, element As Object
Set d = New ChromeDriver
Const URL = "https://www.jpx.co.jp/markets/public/short-selling/index.html"
With d
.get URL
Set elements = .FindElementsByXPath("//img[@title='Excel']/parent::a")
For Each element In elements
Debug.Print element.Attribute("href")
Next
Stop
.Quit
End With
End Sub