How to use visitar method in SeleniumBase

Best Python code snippet using SeleniumBase

views_reviews.py

Source:views_reviews.py Github

copy

Full Screen

1from django.shortcuts import render, redirect2from django.http import JsonResponse3from .forms_reviews import CriarReviewForm4from .models import Review, User, ComentariosReview5VER_REVIEW = "reviews/ver_review.html"6from .views_user import IrParaVisita, IrParaInicio, verificar_amizade7MENS_ERROR = "Algo de errado não está certo"8CRIAR_REVIEW = "reviews/criar_review.html"9GOTO_LIST_REVIEW = "reviews/lista_review.html"10EDIR_REVIEW = "reviews/editar_review.html"11INFO = "user/info.html"12def pegar_comentarios_Reviews(idReview):13 comentarios = []14 visitar = Review.objects.get(id=idReview)15 for i in ComentariosReview.objects.filter(review=visitar):16 sla = []17 #[nome, comentário, idComentario, idUser, id criador da postagem]18 sla.append(i.user.nome)19 sla.append(i.comentario)20 sla.append(i.id)21 sla.append(i.user.id)22 sla.append(visitar.user_criador.id)23 comentarios.append(sla)24 return comentarios25def criar_nova_review(response):26 logado = User.objects.get(id=response.session['id_user'])27 if response.method == "POST":28 form = CriarReviewForm(response.POST)29 if form.is_valid():30 post = Review.objects.create(31 title=form.cleaned_data['title'],32 content=form.cleaned_data['content'],33 user_criador=logado34 )35 post.save()36 return render(37 response, VER_REVIEW,38 {39 "user": logado, "post": post,40 "criador": post.user_criador,41 "lista_comentarios": None42 }43 )44 return JsonResponse(data={"message": MENS_ERROR})45 else:46 form = CriarReviewForm()47 return render(response, CRIAR_REVIEW, {"form": form})48def listar_review(response):49 logado = User.objects.get(id=response.session['id_user'])50 if response.method == 'POST':51 if "visitar" in response.POST:52 visitar = Review.objects.get(id=response.session['id_review']).user_criador53 if visitar == logado:54 return render(response, INFO, {"user": logado})55 upgradar = ["Comum", '', "Tutor", "Moderador", "Administrador"]56 return render(57 response, IrParaVisita,58 {"user": logado,59 "visita": visitar,60 "upgradar": upgradar,61 "amizade": verificar_amizade(logado, ContaParaUpgradar)62 }63 )64 if "apagar" in response.POST:65 p = Review.objects.get(id=response.session['id_review'])66 p.delete()67 return render(response, IrParaInicio, {"user": logado})68 # Verifica se o botão pressionado foi o botão de Pesquisar69 if "pesquisar" in response.POST:70 lista = []71 filtro = response.POST.get('filtro')72 for reviews in Review.objects.filter(title__contains=filtro):73 lista_local = []74 lista_local.append(reviews.title)75 lista_local.append(reviews.id)76 lista.append(lista_local)77 # Ele filtra pela pesquisa por nome78 return render(response, GOTO_LIST_REVIEW, {'lista': lista})79 if "comentar" in response.POST:80 visitar = Review.objects.get(id=response.session['id_review'])81 ComentariosReview.objects.create(review=visitar, user=logado, comentario=response.POST.get('comentario')).save()82 comentarios = pegar_comentarios_Reviews(visitar.id)83 return render(response, VER_REVIEW, {"user": logado, "post": visitar, "lista_comentarios": comentarios})84 for i in Review.objects.all():85 if str(i.id) in response.POST:86 visitar = i87 response.session['id_review'] = visitar.id88 criador = visitar.user_criador89 comentarios = pegar_comentarios_Reviews(visitar.id)90 return render(91 response, VER_REVIEW,92 {93 "user": logado,94 "post": visitar,95 "criador": criador,96 "lista_comentarios": comentarios97 }98 )99 return JsonResponse(data={"message": MENS_ERROR})100 else:101 lista = []102 for reviews in Review.objects.all():103 lista_local = []104 lista_local.append(reviews.title)105 lista_local.append(reviews.id)106 lista.append(lista_local)107 # Ele filtra pela pesquisa por nome108 return render(response, GOTO_LIST_REVIEW, {'lista': lista})109def mostrar_reviews_visita(response):110 visitante = User.objects.get(id=response.session['id_visita'])111 lista = []112 if response.method == "POST":113 for i in Review.objects.all():114 if str(i.id) in response.POST:115 visitar = i116 response.session['id_review'] = visitar.id117 criador = visitar.user_criador118 comentarios = pegar_comentarios_Reviews(visitar.id)119 return render(120 response, VER_REVIEW,121 {122 "user": visitante,123 "post": visitar,124 "criador": criador,125 "lista_comentarios": comentarios126 }127 )128 filtro = response.POST.get('filtro')129 for reviews in Review.objects.filter(user_criador=visitante, title__contains=filtro):130 lista_local = []131 lista_local.append(reviews.title)132 lista_local.append(reviews.id)133 lista.append(lista_local)134 return render(response, GOTO_LIST_REVIEW, {'lista': lista})135 for reviews in Review.objects.filter(user_criador=visitante):136 lista_local = []137 lista_local.append(reviews.title)138 lista_local.append(reviews.id)139 lista.append(lista_local)...

Full Screen

Full Screen

grafo_lib.py

Source:grafo_lib.py Github

copy

Full Screen

1from grafo import Grafo2from cola import Cola3from random import shuffle4def bfs(grafo, origen, n):5 visitados = set()6 padres = {}7 orden = {}8 orden[origen] = 09 visitados.add(origen)10 q = Cola()11 q.encolar(origen)12 while not q.esta_vacia():13 v = q.desencolar()14 for w in grafo.obtener_adyacentes(v):15 if not w in visitados:16 padres[w] = v17 orden[w] = orden[v] + 118 visitados.add(w)19 if n == -1 or orden[w] < n:20 q.encolar(w)21 return padres, orden, visitados22def _sumatoria(grafo, vert, pr):23 suma = 024 for v in grafo.obtener_vertices_entrada(vert):25 if not v in pr:26 pr[v] = 1 / grafo.cantidad()27 suma += (pr[v] / grafo.obtener_grado_salida(v))28 return suma29def _PageRank(grafo, v,pr, pr_nuevo):30 pr_nuevo[v] = (1 - 0.85) / grafo.cantidad() + 0.85 * _sumatoria(grafo, v, pr)31 return pr_nuevo32def PageRank(grafo, pr, pr_nuevo):33 for v in grafo:34 if not v in pr_nuevo:35 pr_nuevo = _PageRank(grafo, v, pr, pr_nuevo)36 return pr_nuevo37def obtener_maximo(lista, diccionario):38 etiquetas = {}39 for x in lista:40 etiquetas[diccionario[x]] = etiquetas.get(diccionario[x], 0) + 141 maximo = None42 for i in etiquetas:43 if not maximo or etiquetas[i] > etiquetas[maximo]: maximo = i44 45 return maximo46def label_propagation(grafo):47 48 #Se supone que debeira inicializar (O(v)) y recorrer las aristas(O(e)). 49 #Esto ultimo sucede en promedio 6-8 veces.50 51 #entradas = {}52 etiquetas = {}53 vertices = grafo.obtener_vertices()54 #inicializamos55 i = 056 for v in vertices:57 #para los vertices vamos a armar una lista58 etiquetas[v] = i59 i += 160 #iteraciones61 completos = False62 #k = 063 while not completos:64 # En 6 iteraciones deberia completarse el 95%65 completos = True66 shuffle(vertices)67 for vertice in vertices:68 e = None69 if grafo.obtener_grado_entrada(vertice) != 0:70 entradas = grafo.obtener_vertices_entrada(vertice)71 entradas.append(vertice)72 e = obtener_maximo(entradas, etiquetas)73 if e and e != etiquetas[vertice]:74 completos = False75 etiquetas[vertice] = e76 #k+= 177 #if k == 10: completos = True78 79 comunidades = {}80 for v in etiquetas:81 if not etiquetas[v] in comunidades: comunidades[etiquetas[v]] = comunidades.get(etiquetas[v], [])82 comunidades[etiquetas[v]].append(v)83 return comunidades84 85 86 87ENTRANTE = 188SALIENTE = 089def devolver_aristas(grafo, vertice, direccion):90 if ENTRANTE == direccion:91 return grafo.obtener_vertices_entrada(vertice)92 if SALIENTE == direccion:93 return grafo.obtener_adyacentes(vertice)94def _recorrido_dfs(grafo, vertice, faltan_visitar, lista_visitados, direccion):95 faltan_visitar.discard(vertice)96 for i in devolver_aristas(grafo, vertice, direccion) :97 if i in faltan_visitar:98 faltan_visitar, lista_visitados = _recorrido_dfs(grafo, i, faltan_visitar, lista_visitados, direccion)99 lista_visitados.append(vertice)100 return faltan_visitar, lista_visitados101def dfs_iterativo(grafo, vertice, faltan_visitar, lista_visitados, direccion):102 pila = []103 faltan_visitar = set(grafo.obtener_vertices())104 faltan_visitar.discard(vertice)105 pila.append(vertice)106 lista_visitados = []107 while len(pila) != 0:108 vertice = pila.pop()109 110 if vertice in faltan_visitar:111 faltan_visitar.discard(vertice)112 lista_visitados.append(vertice)113 for i in devolver_aristas(grafo, vertice, direccion):114 if i in faltan_visitar: 115 pila.append(i)116 return faltan_visitar, lista_visitados117def recorrido_dfs(grafo, vertice, direccion): 118 faltan_visitar = set(grafo.obtener_vertices())119 faltan_visitar.discard(vertice)120 lista_visitados = []121 return _recorrido_dfs(grafo, vertice, faltan_visitar, lista_visitados, direccion)122CONDICION_EXITO = 1123CONDICION_RECURSION = -1124def _backtraking(grafo, vertice, condicion, extra, visitados, camino, distancias):125 camino.append(vertice)126 cond = condicion(vertice, distancias, extra)127 if cond == CONDICION_EXITO:128 return visitados, camino, True129 130 elif cond == CONDICION_RECURSION:131 for i in devolver_aristas(grafo, vertice, SALIENTE):132 if not i in visitados:133 visitados.add(i)134 distancias[i] = distancias[vertice] + 1 135 x, camino, exito = _backtraking(grafo, i, condicion, extra, visitados, camino, distancias)136 if exito == True: return visitados, camino, exito137 else:138 camino.pop(-1)139 visitados.discard(vertice)140 return visitados, camino, False141def backtraking(grafo, vertice, condicion, extra):142 visitados = set({})143 camino = []144 distancias = {}145 distancias[vertice] = 0...

Full Screen

Full Screen

dijkstra.py

Source:dijkstra.py Github

copy

Full Screen

1# Algoritmo de Dijkstra = Caminos mínimos2sin_visitar = {'A', 'B', 'C', 'D', 'E', 'C'} 3distancias = {('A', 'B'): 6, ('A', 'D'): 1, ('B', 'C'): 5, ('B', 'D'): 2, ('B', 'E'):2, ('D', 'E'): 1, ('E','C'): 5,4 ('B', 'A'): 6, ('D', 'A'): 1, ('C', 'B'): 5, ('D', 'B'): 2, ('E', 'B'):2, ('E', 'D'): 1, ('C','E'): 5}5vecinos = {6 'A': ['B', 'D'],7 'B': ['A', 'D', 'C'],8 'C': ['B', 'E'],9 'D': ['A', 'B', 'E'],10 'E': ['D', 'B', 'C']11 }12def dijkstra(sin_visitar, distancias, vecinos, inicio):13 # Distancia desde el vértice inicial = 0. Distancia de los otros vértices = infinito.14 # key: value for value in iterable for condition15 # Se lee así: "Para cada elemento en el iterable, esa llave y ese valor, solo si se cumple la condición" 16 conocido = {vertice: 0 if vertice == inicio else float('inf') for vertice in sin_visitar}17 # El nodo anterior es desconocido para cada vertex18 anterior = {vertice: None for vertice in sin_visitar}19 # Repetir hasta que no queden vértices para visitar20 while len(sin_visitar) > 0:21 # Visitar los no_vistados con la menor distancia desde el vértice inicial22 distancia, visitar = min([(conocido[candidato], candidato) for candidato in sin_visitar])23 # Para el vértice actual, calcular la distancia desde el vértice visitado hasta cada uno de sus vecinos.24 calculado = {vecino: distancia + distancias[visitar, vecino] for vecino in vecinos[visitar]}25 # Actualizar las distancias anteriores y conocidas si la distancia calculada es menor que la distancia conocida.26 anterior.update( {vertice: visitar if calculado[vertice] < conocido[vertice] else anterior[vertice] for vertice in vecinos[visitar]} )27 conocido.update( {vertice: calculado[vertice] if calculado[vertice] < conocido[vertice] else conocido[vertice] for vertice in vecinos[visitar]})28 # Remover el vertice actual visitado del ocnjunto de los visitados:29 sin_visitar.remove(visitar)30 # Return las mejores distancias ocnocidas y sus correspondientes nodos previos31 return conocido, anterior32minimas, predecesores = dijkstra(sin_visitar, distancias, vecinos, 'A')33minimas, predecesores = sorted(minimas.items()), sorted(predecesores.items())...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run SeleniumBase automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful