Настройка
Я использую Selenium с Python 3.x для заполнения форм и использую общую функцию WebDriverWait для ожидания загрузки элементов. Например.
WebDriverWait(browser, 10).until(EC.visibility_of_element_located((By.CLASS_NAME, 'class-name')))
где browser = webdriver.Firefox('/my/path/to/geckodriver')
Задача
Эта строка часто возвращается в коде; Я хочу определить его более короткую версию, чтобы улучшить читаемость.
Пока у меня есть,
wait = WebDriverWait(browser, 10)
def wait(x,y):
if x == 'cn':
wait.until(EC.visibility_of_element_located((By.CLASS_NAME,y)))
elif x == 'xp':
wait.until(EC.visibility_of_element_located((By.XPATH,y)))
но y
плохо переносится, и я получаю,
AttributeError: 'function' object has no attribute 'until'
.
Как правильно вставить y
в функцию?