В VBA я удивлялся, если это возможно нажать на эту кнопку HTML без Id и имя атрибута:VBA: доступ к HTML-элементов без Id или имя
<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>
Для других элементов с Id или имя, здесь как я делаю:
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "site.com"
IE.document.getElementById("submitBtn").Click
// IE.document.getElementByName("submitBtn").Click
но в моем предыдущем примере, нет «Id» или «Name» доступен только атрибут Title для кнопки, есть ли возможность получить доступ к этой кнопке?
Любая идея?
Другой способ, которым я пытался, но не работает:
цель состоит в том, чтобы нажать на кнопку, так что я пытался выполнить непосредственно "MyFunction()", как это:
IE.document.parentWindow.execScript "myfunction()", "Javascript"
btu Я получаю ошибку выполнения (ошибка 80020101) .. любая идея?
Да, вы можете указать его как n-й дочерний элемент (childNodes []) элемента, который имеет идентификатор или имя. –
, если HTML является допустимым XML, вы также можете использовать XPath для выбора узлов/атрибутов на основе атрибутов, позиции или родного брата. – ThunderFrame
Или GetElementsByTagname и цикл через возвращенную коллекцию, пока не найдете ее с правильным атрибутом title. – Tim