У меня проблемы с запуском моего основного метода (или любого другого метода) после обновления страницы с помощью Selenium Python. Все, включая обновление, работает нормально, но как заставить программу работать при обновлении так же, как при первом запуске программы из командной строки?
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome(executable_path=r'./chromedriver.exe', options=chrome_options)
driver.get('https://www.google.com')
wait = WebDriverWait(driver, 10)
button = wait.until(EC.element_to_be_clickable((By.XPATH, '//button[@data-a-target="XXXXX"]')))
def main():
try:
button.click()
(codeblock)
#refresh upon error detection
except Exception
driver.refresh()
#not sure what this does but it doesn't work without it
if __name__ == "__main__":
main()
Обратите внимание, что этот блок отсутствует или изменил код ex,URL. Но все, включая вызов обновления для исключения, работает нормально.
Я действительно не уверен, как все это совмещается, так как мне нужно, чтобы main () вызывался после обновления, хотя есть переменные, объявленные вне main(), который использует main (). Не уверен, если это вызывает какие-либо проблемы.
Короче говоря, как можно сделать то, что фактически является бесконечным циклом (при условии, что main () повторяется, когда ошибок не возникает), в том случае, когда возникает ошибка, страницаобновляет (проверьте), и после обновления возвращается к main ()?