Я работаю с селеном, чтобы очистить некоторые данные.
На странице, которую я нажимаю, есть кнопка "custom_cols". Эта кнопка открывает для меня окно, в котором я могу выбрать свои столбцы.
Открытие этого нового окна иногда занимает некоторое время (около 5 секунд). Чтобы справиться с этим, я использовал
WebDriverWait
с задержкой в 20 секунд. Но иногда не удается выбрать элементы поиска в новом окне, даже если элемент виден. Это происходит только один раз из десяти, в остальное время все работает нормально.
Я использовал ту же функцию (WebDriverWait) и в других местах, и она работает должным образом. Я имею в виду, что он ждет, пока элементы не станут видимыми, а затем щелкает по нему в тот момент, когда находит его.
Мой вопрос в том, почему элементы в новом окне не отображаются, хотя я жду, чтобы элемент стал видимым. Чтобы добавить сюда, я попытался увеличить время задержки, но все же время от времени получаю эту ошибку.
Мой код здесь
def wait_for_elem_xpath(self, delay = None, xpath = ""):
if delay is None:
delay = self.delay
try:
myElem = WebDriverWait(self.browser, delay).until(EC.presence_of_element_located((By.XPATH , xpath)))
except TimeoutException:
print ("xpath: Loading took too much time!")
return myElem
select_all_performance = '//*[@id="mks"]/body/div[7]/div[2]/div/div/div/div/div[2]/div/div[2]/div[2]/div/div[1]/div[1]/section/header/div'
self.wait_for_elem_xpath(xpath = select_all_performance).click()