Я пытаюсь написать сценарий Excel VBA для перехода на сайт и выбрать из раскрывающегося списка, используя текст в элементе списка, а не значение индекса. Изучив HTML-код, я вижу, что значения в раскрывающемся списке выглядят целыми числами без узнаваемого шаблона и, как представляется, не коррелируют с текстом, указанным для записи в раскрывающемся списке.выберите раскрывающийся список по тексту не значение
<option value="246">new2</option>
<option value="245">new</option>
<option value="196">test</option>
Я могу успешно использовать следующую команду:
ieDoc.getElementById("viewMaintainFixedCombustible_fixedCombustible_fireZoneId").Value = 246
Чтобы выбрать пункт «new2» из выпадающего списка, отправив значение 246. Или я мог бы послать 245, чтобы выбрать «новый». Однако элементы в списке всегда меняются, поэтому выбор по значению (246, 245 и т. Д.) Нецелесообразен. Таким образом, я ищу способ выбрать запись из раскрывающегося списка (например, «new2»), отправив текстовое имя записи (например, «new2») в VBA.
Есть ли у кого-нибудь способ для этого?
Можете ли вы прочитать (в VBA) текст и значения для этих параметров? Если это так, если ничего не работает, вы всегда можете хранить их в массиве или скриптовом словаре для поиска. –
Вы говорите, итерации по всему выпадающему списку и вытащите все значения? Я не знаком с тем, как вытащить текст и значения из раскрывающегося списка обратно в Excel, но это может быть жизнеспособным подходом. – user2344525
Я не уверен, что это можно сделать - я не очень сильно разбираюсь в автоматизации Excel/IE, но если нет четкого способа получить параметры по имени (например, quivalent to GetElementByName), тогда я попытаюсь найти способ перебора вариантов. Просто предложение, а не «ответ» как таковое, но подумал, что я дам вам что-то попробовать хотя бы :) –