IDE Delphi, рассматривающий TFrame, как будто это была Форма

Поскольку вы хотите вызвать click() для элемента вместо использования is_displayed() или , ожидающих, пока элемент будет видимым , вам нужно вызвать WebDriverWait для желаемого . ] должен быть активным , и вы можете использовать следующее решение:

try:
    WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.NAME, "commit"))).click()
    print("Added to cart")
except(TimeoutException):
    return("Error while adding to cart")

Примечание : Вы должны добавить следующие импорты:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
6
задан Jamo 26 February 2009 в 08:46
поделиться

5 ответов

Я встретился с той же проблемой. Следующие шаги решили проблему для нас, она могла бы также работать на Вас:

  1. в IDE: закройте все формы, которые используют кадр
  2. откройте кадр, представление как текст (*.dfm)
  3. dfm, вероятно, начинается с объектного MyFrame: TMyFrameClass
  4. измените это на наследованный MyFrame: TMyFrameClass

Я не знаю то, что вызвало проблему.

8
ответ дан 10 December 2019 в 02:54
поделиться

Возможно, Вы сняли флажок с флажком 'Embedded designer'? (Инструменты | Опции | Опции Среды | Разработчик VCL). Затем действительно, Ваш кадр показывают во время проектирования как форма (с подписью, граница и т.д.). Также конкретный код Вашего проблематичного потомка TFrame или большего количества деталей о Вашем случае помог бы.

1
ответ дан 10 December 2019 в 02:54
поделиться

Насколько я знаю, у Вас должны быть и форма и кадр, открытый в редакторе при редактировании кадра. Еще могут быть проблемы обновления. Хотя я не видел этого.

Но я разочаровался в кадрах давным-давно, потому что я не нашел их очень надежными.

Прямо сейчас я только использую их для разработки прототипа, создавая пользовательский компонент (полученный панели с соответствующими средствами управления на нем).

0
ответ дан 10 December 2019 в 02:54
поделиться

Вам, вероятно, придется зарегистрировать пользовательский модуль к IDE, Но Ваши дополнительные свойства не будут работать хорошо, если они не будут в классе предка.

0
ответ дан 10 December 2019 в 02:54
поделиться

Я столкнулся со многими проблемами с TFrame и, наконец, пришел к такому обходному пути, который решает все мои проблемы: Я создаю и проектирую кадры визуально, но использую их только для ручного кодирования.

В качестве побочного эффекта мои приложения стали меньше из-за меньшего количества dfm-s.

.
0
ответ дан 10 December 2019 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: