#python #selenium
#python #селен
Вопрос:
Для реализации python-selenium у вас есть ожидаемые условия, которые вы обычно используете в WebDriverWait
конструкции:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
Я хочу использовать это условие напрямую, без WebDriverWait
. Но выполнение простого
element = EC.presence_of_element_located((By.ID, "myDynamicElement"))
похоже, не работает. Итак, как это сделать / использовать?
Комментарии:
1. Почему не использовать
driver.find_element_by_id("myDynamicElement")
?2. Я использую это, но как сообщить selenium, что элемент должен быть
visible
или нетvisible
, Илиclickable
и т. Д.?
Ответ №1:
Затем вы можете захотеть создать пользовательский метод для запуска блока кода
def try_bool(attempts = 10, duration = 0.2, interest = True)
count = 0
item_of_interest = null
while item_of_interest == interest || count == attempts
item_of_interest = interest
time.sleep(duration)
count = 1
element = driver.find_element_by_id('locator')
try_bool(10,1,element.is_displayed())
Комментарии:
1. Здесь вы используете
is_displayed()
, чтобы проверить, соответствует ли состояние элемента условиюpresence_of_element_located
? Это правильно? Если да, есть ли у вас соответствие каждого элемента какому-либо атрибуту элемента? Или лучше проверить исходный код непосредственно на seleniumhq.github.io/selenium/docs/api/py/_modules/selenium /…