Как получить ответ JSON данных от сетевого вызова в XHR с помощью веб-драйвера Python selenium Chorme - PullRequest
0 голосов
/ 07 февраля 2019

мне нужны данные json от сетевых вызовов в веб-драйвере python selenium или даже одна конкретная ссылка на json-данные от сетевого вызова

Вот изображение примеров данных, которые я хочу

enter image description here

точно я хочу "Предложение Mobikwik" из ответа json от сетевого вызова

Может ли кто-нибудь помочь мне в этом, Также предложите альтернативные варианты, чтобы получитьэти данные.Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 07 февраля 2019

Вы можете найти элемент pre и получить его текст, а затем загрузить его через json.loads():

import json 

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

Для получения дополнительной информации, пожалуйста, посетите

http://seleniummaster.com/sitecontent/index.php/selenium-web-driver-menu/selenium-test-automation-with-python/235-how-to-test-json-with-selenium-python

0 голосов
/ 07 февраля 2019

Здесь вы можете использовать URL запроса с requests.Селен не нужен.

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)
0 голосов
/ 07 февраля 2019

Вам необходимо проверить заголовки для URL запроса.Используйте этот api url с запросами lib.Что-то вроде:

import requests, json

url = *url here*
response = requests.get(url)
json_value = response.json()
alt = json_value['alt']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...