Обновлен неудачный пример кода от asker, с ошибкой на .click()
:
element = WebDriverWait(self.driver, 30).until( EC.element_to_be_clickable((By.XPATH, '//*[@id="tab-content-2"]/div/md-content/div[9]/a/span'))).click()
element = WebDriverWait(self.driver, 30).until( EC.element_to_be_clickable((By.ID, 'adminCreateConsultation'))).click()
Я думаю, что проблема здесь связана с объединением операций wait.until
и .click()
.Попробуйте разделить код следующим образом:
# Wait for the element to exist
WebDriverWait(self.driver, 30).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="tab-content-2"]/div/md-content/div[9]/a/span')))
# then click it
driver.find_element_by_xpath("//*[@id="tab-content-2"]/div/md-content/div[9]/a/span").click()
# Wait for the element to exist
WebDriverWait(self.driver, 30).until(EC.element_to_be_clickable((By.ID, 'adminCreateConsultation')))
# then click it -- need to use Javascript click for this element
createConsultationButton = driver.find_element_by_id("adminCreateConsultation")
driver.execute_script("arguments[0].click();", createConsultationButton)