Чтобы отправить дату , т. Е. Последовательность символов , в текстовое поле в качестве требуемого элемента является динамический элемент, вам нужно вызвать WebDriverWait ] для элемента , который можно активировать нажатием , и вы можете использовать любое из следующих решений:
Используя CSS_SELECTOR
:
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[id$='-toDate'][onchange*='-toDate']"))).send_keys("01/16/2019")
Используя XPATH
:
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[contains(@id, '-toDate') and contains(@onchange, '-toDate')]"))).send_keys("01/16/2019")
Примечание : Вы должны добавить следующие импорты:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Подробное обсуждение можно найти в Selenium «selenium.common.exceptions.NoSuchElementException» при использовании Chrome
blockquote>
Что изложил мой вопрос, попытка сделать оказывается запрещенной Adobe (насколько любое потенциальное коммерческое использование):
От Adobe® AIR™ Runtime Distribution FAQ:
Распределите или используйте Среду выполнения Adobe AIR, файлы установщика или извлеченные файлы установщика недокументированным способом или целью. Например, Вы не можете распределить, звонить непосредственно, или обертки записи для любой из библиотек Adobe AIR или компонентов во время выполнения в Вашем приложении. Runtime.dll, исполняемые файлы Во время выполнения, template.exe и template.app являются примерами Компонентов Во время выполнения.
Это кажется, что Вы хотите сделать некоторое очень жесткое взламывание AIR. Я не думаю, размещая время выполнения AIR в Вашем собственном процессе, будет очень легко. Но Вы могли бы рассмотреть встраивание элемента управления ActiveX Flash player. Так как это - просто COM-объект, любое приложение COM может CoCreateInstance () Flash player. COM-интерфейс не хорошо документируется, но здесь является некоторыми примерами, которые могли бы быть полезными:
Если Вы хотите получить еще более низкий доступ уровня, Вы могли бы встроить Tarmain AS3 VM с открытым исходным кодом. Код имеет оболочку командной строки в качестве примера, названную "avmshell". При создании Игрунка VM сами можно добавить новые классы ActionScript, реализованные в собственном C++. Игрунок (и Flash player) реализует многие их опции с помощью этого "Связующее звено AVM" между AS и C++.