Python Selenium WebDriverWait для отображения элемента не работает должным образом

#python #selenium #selenium-webdriver #webdriverwait

#python #selenium #selenium-webdriver #webdriverwait

Вопрос:

Я пытаюсь подобрать элемент на основе его xpath и хотел использовать WebDriverWait, однако, похоже, он не подбирает элемент —

Когда я использую —

 abc = driver.find_element_by_xpath('//div[2]/ag-grid-angular/div/div[2]/div/div[3]/div[2]/div/div/div[2]/div[4]').text
  

Я получаю результат, как и предполагалось —

 abc
  

‘-624,917.42’

Однако для того же xpath, когда я использую следующее (что я хочу поместить в окончательный сценарий), он не возвращает выходных данных —

 xyz = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, '//div[2]/ag-grid-angular/div/div[2]/div/div[3]/div[2]/div/div/div[2]/div[4]'))).get_attribute("value")

xyz
  

Нет вывода

 print(xyz)
  

‘Нет’

Я также пробовал вариант ‘visibility_of_element_located’, но безуспешно.

Может кто-нибудь, пожалуйста, указать на очевидную ошибку, которую я здесь допускаю?

Комментарии:

1. Попробуйте с относительным xpath

2. Я не думаю, что сам xpath является проблемой, поскольку он может найти элемент, если я не использую webdriverwait

Ответ №1:

Это работает —

 xyz = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, '//div[2]/ag-grid-angular/div/div[2]/div/div[3]/div[2]/div/div/div[2]/div[4]'))).text