2
votes

comment obtenir les données json de réponse à partir d'un appel réseau dans XHR à l'aide du pilote Web Python sélénium chorme

J'ai besoin des données json des appels réseau dans le pilote Web python sélénium ou même d'une réponse URL spécifique des données json de l'appel réseau

Voici l'image des exemples de données que je veux

 entrez la description de l'image ici

exactement je veux "Mobikwik Offer" de la réponse json de l'appel réseau

Quelqu'un pourrait-il m'aider à ce sujet? Suggérer également les autres options pour obtenir ces données. Merci d'avance


0 commentaires

3 Réponses :


0
votes

Vous devez vérifier les en-têtes de l'URL de la demande. Utilisez cette URL d'API avec les requêtes lib. Quelque chose comme:

import requests, json

url = *url here*
response = requests.get(url)
json_value = response.json()
alt = json_value['alt']


0 commentaires

1
votes

Vous pouvez trouver l'élément pre et obtenir son texte, puis le charger via json.loads():

import json 

pre = driver.find_element_by_tag_name("pre").text
data = json.loads(pre)
print(data)

Pour plus d'informations s'il vous plaît visitez

http://seleniummaster.com/sitecontent/index.php/selenium-web-driver-menu/selenium-test-automation-with -python / 235-comment-tester-json-avec-sélénium-python


0 commentaires

0
votes

Ici, vous pouvez utiliser l'URL de requête avec des requêtes . Le sélénium n'est pas nécessaire.

import requests

url = 'https://s0.dominosindia.in/s0-olo-api-bucket/v1/widgetcontent/brandOffers'
find = 'Mobikwik Offer'  

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}

response = requests.get(url, headers=headers).json()
data = response['data']

for ele in data:
    if ele['alt'] == find:
        id_key = ele['id']
        imageUrl = ele['imageUrl']
        alt = ele['alt']

        print (ele)


1 commentaires

J'ai fourni ce site pour un échantillon. Je dois faire la même chose que pour extraire des appels réseau, car mon site actuel est protégé par des entrées d'authentification dynamiques. Si cela pouvait être fait avec du sélénium, ce serait formidable.