parodent
(Назар)
02.Ноябрь.2016 17:52:58
#1
Пытаясь реализовать wait_until_true,на подобе джавовского apply столкнулся с :
def pol():
print("iam POL")
def ron(cond):
for _ in range(3):
cond
ron(pol())
выведется только раз-когда pol() вычислится для параметра…а как её прогнать н-раз?
Что надо: цикл полит вызывая функцию,напр. driver.current_url,чтобы засечь момент изменения и вернуть Тру,что урлы уже разные…
Как решить?
polusok
(Mykhailo Poliarush)
02.Ноябрь.2016 18:40:27
#2
Честно я не совсем понял, в чем ваша проблема и что вы не можете решить, но можете подсмотреть в существующую библиотеку waiting, может быть там найдете ваше решение
from .__version__ import __version__
from contextlib import contextmanager
try:
from flux import current_timeline as time_module
except ImportError:
import time as time_module
from .deadlines import make_deadline as _make_deadline
from .exceptions import TimeoutExpired, IllegalArgumentError, NestedStopIteration
def wait(*args, **kwargs):
result = _Result()
try:
for x in iterwait(result=result, *args, **kwargs):
pass
except NestedStopIteration as e:
e.reraise()
return result.result
1 лайк
parodent
(Назар)
02.Ноябрь.2016 19:57:51
#3
Спасибо,разобрался сам но етот пост нужная вещь!