Когда я тестирую его на своем компьютере, все работает нормально и ничего не устаревшего, но когда я нажимаю на действия github, удаляющие его из сети, он устарел в середине. Кто-нибудь знает, что может вызвать это?
Другое дело, что когда я хочу удалить больше (примерно через 15/20 минут), один элемент устаревает. Как мне это предотвратить?
Вот код для отмены курсов
Код: Выделить всё
if course_id not in output:
output[course_id] = {}
output[course_id][name] = {}
course = course_dict[course_id]
WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH,'//table[@class="as-content"]/tbody/tr')))
driver.implicitly_wait(0.5)
tables = driver.find_elements(By.XPATH,'//table[@class="as-content"]/tbody/tr')
color = getColor("")
for i in range(1,len(tables),2):
course_name = tables[i].find_elements(By.XPATH,'./td/table/tbody/tr/td/span')[0].text
print(course_name)
if course_name in course:
course_name, color_ = course[course_name]
color = getColor(color_)
if course_name not in output[course_id][name]:
output[course_id][name][course_name] = []
list_cursus = tables[i+1].find_elements(By.XPATH,'./td/div/table/tbody/tr')
for cursus in list_cursus:
info = cursus.find_elements(By.XPATH,'./td')
driver.implicitly_wait(0.1)
date = info[0].find_element(By.XPATH,'./div').get_attribute("innerHTML").replace(" ", " ")
_time = info[1].get_attribute("innerHTML").replace(" ", " ")
row_date = dateparser.parse(date + ' ' + _time[3:8])
if row_date != None:
start = row_date.strftime("%Y-%m-%dT%H:%M:%S")
end = dateparser.parse(date + ' ' + _time[10:17]).strftime("%Y-%m-%dT%H:%M:%S")
teacher = info[3].get_attribute("innerHTML").replace(" ", " ")
room = info[4].get_attribute("innerHTML").replace(" ", " ")
title = course_name + '\n' + teacher + '\n' + room
output[course_id][name][course_name].append({'title':title,'start':start,'end':end, 'color': color})
Подробнее здесь: https://stackoverflow.com/questions/789 ... en-testing