Используемый вами xpath неверен, поскольку в нем есть ошибка ввода, вы использовали soucre
вместо source
, и структура, которую вы использовали для его получения, также неверна.
Поэтому попробуйте использовать приведенный ниже код, он должен работать нормально.
WebDriverWait(browser,10).until(EC.frame_to_be_available_and_switch_to_it(By.XPATH, "//div[@id='innerframe']/iframe"))
browser.find_element_by_xpath("//div[@id='mediacontent']//video").text
Я думаю, что зафиксировал его. Это, оказывается, что у меня была простая ошибка конфигурирования. Мое ini чтение файла:
sqlalchemy.default.url = [connection string here]
sqlalchemy.pool_recycle = 1800
проблема состоит в том, что мой environment.py
файл объявил, что механизм только отобразит ключи с префиксом: sqlalchemy.default
так pool_recycle
был проигнорирован.
решение состоит в том, чтобы просто изменить вторую строку в ini к:
sqlalchemy.default.pool_recycle = 1800
Вы могли бы хотеть проверить переменные тайм-аута MySQL:
show variables like '%timeout%';
Вы, вероятно, интересуетесь wait_timeout
(менее вероятно, но возможный: interactive_timeout
). На Debian и Ubuntu, значения по умолчанию 28800 (MySQL уничтожает соединения после 8 часов), но возможно значение по умолчанию для Вашей платформы отличается или кто бы ни управляет сервером, настроил вещи по-другому.
AFAICT, pool_recycle
на самом деле не поддерживает соединения, он истекает их самостоятельно, прежде чем MySQL уничтожит их. Я не знаком с опорами, но если порождение соединений периодически сделать SELECT 1;
является опцией, которая поддержит их за счет в основном никакой загрузки сервера и минимального сетевого трафика. Одна последняя мысль: Вам так или иначе удается использовать соединение, что опоры думают, что оно истекло?