Bonjour,
J'ai créé une application avec flask qui permet de modifier les class d'éléments (B1,2,3..) en récupérant la class d'un bouton radio (class1, 2, 3...) en javascript.
J'aimerais récupérer la class de chaque élément après modification de certains éléments et j'ai pensé au scraping.
J'ai utilisé plusieurs packages (requests, urllib, selenium...) et le résultat est toujours le même : les modifications faites par le javascript ne sont pas prises en compte.
Code python :
Code javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @app.route('/', methods=["GET", "POST"]) @app.route('/index', methods=["GET", "POST"]) def home(): if request.method == "POST": source = requests.get('http://127.0.0.1:5000/').text soup = BeautifulSoup(source, 'html.parser') data = soup.find_all('button', {"class":"hand"})[0] m = re.search('class="(?P<CLASS>.+?)" id="(?P<ID>.+?)"', str(data)) maclass = m.group('ID')+'='+m.group('CLASS') flash(maclass) return render_template('index.html') else: return render_template('index.html')
Vue navigateur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function getId(monId) { let ele = document.getElementsByName('actions'); for(i = 0; i < ele.length; i++) { if(ele[i].checked) document.getElementById(monId).className = ele[i].value + " px-0 hand"; } };
Quand je clique sur enregistrer dans la configuration ci-dessus, flash(maclass) renvoie : B1=btn btn-info px-0 hand alors que j'aimerais qu'il renvoie B1=btn btn-danger px-0 hand
Ces packages récupèrent le cache du navigateur? Il y a une remise à 0 lors de l'envoi de la requête POST?
Une idée pour contourner ce problème?
Partager