У меня следующая проблема:
1.) Я уже выбрал FirefoxWebElement с self.web_browser.find_element_by_id("click_button")
и поместил его в переменную click_button_var
2.) Если я использую напрямую click_button_var.click()
Я получу ошибку, потому что кнопка не готова. Поэтому я использую time.sleep(2)
.
3.) Теперь я хочу оптимизировать и использовать selenium.webdriver.support import expected_conditions as EC
, и это работает:
click_button_var = WebDriverWait(self.web_browser, 20).until(
EC.element_to_be_clickable((By.ID, "click_button")))
click_button_var.click()
4.) Но мне нужно возможность дать EC.element_to_be_clickable()
методу уже существующий FirefoxWebElement. Что-то вроде этого, которое возвращает ошибку:
click_button_var = self.web_browser.find_element_by_id("click_button")
WebDriverWait(self.web_browser, 20).until(
EC.element_to_be_clickable(click_button_var))
click_button_var.click()
- Мой вопрос: как я могу сделать
element_to_be_clickable
проверки уже существующего элемента? - Было бы хорошо используйте свойство уже существующего элемента, чтобы выбрать его снова, что-то вроде этого:
WebDriverWait(self.web_browser, 20).until(
EC.element_to_be_clickable((By.LocatorFromExistingElement, current_match_conversation.locator)))
click_button_var.click()```