<div id="loader-mid" style="position: absolute; top: 118.5px; left: 554px; display: none;">
<div class="a">Loading</div>
<div class="b">please wait...</div>
</div>
И хочется подождать, пока он не исчезнет. У меня есть следующий код, но он иногда слишком долго ждет, и в какой-то момент кода он внезапно замораживает весь процесс, и я не знаю почему.
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
self.wait = WebDriverWait(driver, 10)
self.wait.until(EC.invisibility_of_element_located((By.XPATH, "//*[@id='loader_mid'][contains(@style, 'display: block')]")))
а также я пробовал это:
self.wait.until_not(EC.presence_of_element_located((By.XPATH, "//*[@id='loader_mid'][contains(@style, 'display: block')]")))
Я точно не знаю, как это проверить, но, возможно, мой элемент всегда присутствует на странице, и селен думал, что он есть, единственное, что меняется, - это изменение отображения параметров с none на block. Я думаю, что могу получить атрибут, такой как строка, и проверить, есть ли слово "блок", но это так неправильно, я думаю ... Помогите мне, пожалуйста.