Как найти элемент, динамически загружаемый jQuery на странице через Selenium, WebDriver и Python

Для вашего массива длина массива равна 3 (например, name.length = 3). Но поскольку он хранит элемент, начинающийся с индекса 0, он имеет максимальный индекс 2.

Итак, вместо 'i ** & lt; = name.length' вы должны написать 'i & lt; ** name.length' чтобы избежать «ArrayIndexOutOfBoundsException».

1
задан DebanjanB 13 July 2018 в 14:18
поделиться

2 ответа

В соответствии с HTML вы указали, что связанный function внутри <script> вызывает:

jQuery('<div> DIV 2 </div>', {id: 'id_2', }).appendTo('#content');

Итак, когда веб-страница полностью завершит загрузку элемента будет присутствовать в HTML DOM как:

('<div> DIV 2 </div>', {id: 'id_2', })

Здесь вы можете найти обсуждение на . У нас есть какое-либо общее функционирование, чтобы проверить, полностью ли загружена страница Selenium

Наконец, вы можете дождаться любого из следующего состояния элемента, вызывающего WebDriverWait следующим образом:

0
ответ дан DebanjanB 17 August 2018 в 12:43
поделиться

вместо:

myElem = WebDriverWait(browser, delay).until(EC.presence_of_element_located((By.ID, 'id_2')))

попробуйте следующее:

myElem = WebDriverWait(browser, delay).until(EC.presence_of_element_located((By.XPATH, ".//*[@id='content']/div[2]")))
0
ответ дан TwinckleTwinckle 17 August 2018 в 12:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: