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 : 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')
Code javascript :

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";
  }
};
Vue navigateur :

Nom : vue nav scraping.JPG
Affichages : 116
Taille : 85,5 Ko

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?