In VBA mich, wenn dies möglich gewundert ohne Id und Name-Attribut auf dieser HTML-Schaltfläche klicken:VBA: Zugriff auf ein HTML-Elemente ohne Id oder Namen
<ul aria-hidden="false" role="menu">
<li>
<button ..></button>
</li>
<li>
<button ..></button>
</li>
<li> <!-- THE THIRD li, I would like to access this button -->
<button title="exporter" role="menuitem" data-ng-disabled="myfunction()">my text</button>
</li>
</ul>
Für andere Elemente mit Id oder einem Namen, hier ist wie ich:
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "site.com"
IE.document.getElementById("submitBtn").Click
// IE.document.getElementByName("submitBtn").Click
aber in meinem vorherigen Beispiel gibt es kein „Id“ oder „Namen“ zur Verfügung, nur ein Title-Attribut für die Schaltfläche, gibt es eine Möglichkeit, diese Taste zugreifen?
Irgendeine Idee?
Eine andere Art und Weise habe ich versucht, aber auch nicht funktioniert:
das Ziel ist, den Knopf zu klicken, also versuchte ich direkt "myfunction()" auszuführen, wie folgt aus:
IE.document.parentWindow.execScript "myfunction()", "Javascript"
btu Ich bekomme einen Ausführungsfehler (Fehler 80020101) .. keine Ahnung?
Ja, Sie können es als n-tes Kind (childNodes []) eines Elements angeben, das eine ID oder einen Namen hat. –
Wenn der HTML-Code XML ist, können Sie auch XPath verwenden, um Knoten/Attribute basierend auf Attributen, Position oder Geschwister zu wählen. – ThunderFrame
Oder GetElementsByTagname und durchlaufen Sie die zurückgegebene Auflistung, bis Sie eine mit dem richtigen Titelattribut finden. – Tim