如何使用硒将JSON加载到文本框

时间:2019-05-20 07:58:16

标签: python selenium selenium-webdriver

我有一个网页。它需要一个json,然后我通过按钮提交此json。

当我使用sendkeys方法加载json时,它不起作用。

 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 个答案:

答案 0 :(得分:1)

将此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
            }
        }
    }
}

使用WebDriver(I) sendKeys()通过将json对象封装如下,将与String相同的对象传递到文本框中:

driver.findEement(ElementLocator Of Text box).sendKeys(JSON.stringify(jsonToEnter));

答案 1 :(得分:0)

如果元素具有值属性,您也可以尝试通过Javascript进行设置。 诸如此类(不了解Python,抱歉):

   webdriver.executeScript("document.getElementById('UIAppPublish.metadata_page_id').setAttribute('value', jsonToEnter)");