Как загрузить JSON в текстовое поле с селеном - PullRequest
0 голосов
/ 20 мая 2019

У меня есть веб-страница. Требуется JSON, и я отправляю этот JSON с помощью кнопки.

Когда я загружаю json методом sendkeys, он не работает.

 EMPTY_METADATAJSON=get_link("./appconfig.json")
    wait.until(EC.presence_of_all_elements_located((By.ID, UIAppPublish.metadata_page_id)))
    driver.find_element_by_id(UIAppPublish.metadata_input).send_keys(EMPTY_METADATAJSON)

Не могли бы вы помочь мне загрузить JSON?

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Назначьте этот json одной переменной, как показано ниже:

jsonToEnter = {
    "system_service": false,
    "version": "1.0.0",
    "checksum": "",
    "machineConfig": {
        "subscriptions": {
            "sinumerik_hf_data": {
                "payload": [{
                    "sinumerikUid": "hfdd_data",
                    "period": 2
                }],
                "source": "communicationAdapter",
                "quality": "high_performance",
                "isCloudMessage": false
            }
        }
    }
}

Передайте тот же объект, что и String, в текстовое поле, используя WebDriver(I) sendKeys(), стринфируя ваш объект json, как показано ниже:

driver.findEement(ElementLocator Of Text box).sendKeys(JSON.stringify(jsonToEnter));
0 голосов
/ 20 мая 2019

Вы также можете попробовать установить его через Javascript, если элемент имеет атрибут-значение. Что-то вроде (не знаю Python, извините):

   webdriver.executeScript("document.getElementById('UIAppPublish.metadata_page_id').setAttribute('value', jsonToEnter)");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...