Как бы я выполнил следующее в selenium python:
el = WebDriverWait(self.driver, 10).until(
expected_conditions.js_return_value(
("return document.readyState === 'complete' ? true : false")
)
)
Я видел способы сделать это на Java, но не могу найти подобное решение в python
Я сделал что-то подобное, но использовал __call__
класса __call__
чтобы получить тот же эффект, например:
class DynamicLoadState:
def __call__(self, driver):
LoadComplete = False
if driver.execute_script("return document.readyState") == 'complete': LoadComplete = True
return LoadComplete
WebDriverWait(self.driver, 10).until(DynamicLoadState())
return driver.execute_script("return document.readyState") == 'complete'
. Вы можете удалить строки до и после вашего оператора if
. См. Stackoverflow.com/questions/26566799/…