2017-03-01 49 views
0

如何在iframe內將JSON對象添加到p標記中?Selenium webdriver將JSON對象設置爲

我試過fllowing但它的廣告文本「的翻譯:」而不是從對象的內容...

這是我的代碼:

var arrJSON = [ 
    { 
    "list": [ 
     { 
     "pageRequest": "http://www.tmz.com/", 
     "fullRequest": "http://0914.global.ssl.fastly.net/ad/img/x.gif?cb=1487451360453", 
     "method": "GET", 
     "contentType": "image/gif", 
     "queryString": "cb=1487451360453", 
     "queryDelimiter": "" 
     } 
    ], 
    "tagName": "DNStination Inc fastly.net", 
    "regex": "((ht|f)tp(s?)://)?(.*)fastly.net/ad/img/x.gif(.*)", 
    "domain": "fastly.net", 
    "logoUrl": "https://logo.clearbit.com/fastly.net" 
    }, 
    { 
    "list": [ 
     { 
     "pageRequest": "https://moz.com/", 
     "fullRequest": "https://092-obr-737.mktoresp.com/webevents/visitWebPage?_mchNc=1487448129811&_mchCn=&_mchId=092-OBR-737&_mchTk=_mch-moz.com-1487448129792-38969&_mchHo=moz.com&_mchPo=&_mchRu=%2F&_mchPc=https%3A&_mchVr=151&_mchHa=&_mchRe=&_mchQp=", 
     "method": "GET", 
     "contentType": "image/gif", 
     "queryString": "_mchNc=1487448129811&_mchCn=&_mchId=092-OBR-737&_mchTk=_mch-moz.com-1487448129792-38969&_mchHo=moz.com&_mchPo=&_mchRu=%2F&_mchPc=https%3A&_mchVr=151&_mchHa=&_mchRe=&_mchQp=", 
     "queryDelimiter": "&" 
     } 
    ], 
    "tagName": "Marketo, Inc mktoresp.com", 
    "regex": "((ht|f)tp(s?)://)?(.*)mktoresp.com/webevents/visitWebPage(.*)", 
    "domain": "mktoresp.com", 
    "logoUrl": "" 
    } 
]; 
var webdriver = require('selenium-webdriver'), 
chrome = require('selenium-webdriver/chrome'); 

const util = require('util'); 
    By = webdriver.By, 
    until = webdriver.until; 
var driver = new webdriver.Builder() 
    .forBrowser('chrome') 
    .build(); 

driver.get('https://my_site.com'); 
for(i=0; i<arrJSON.length; i++){ 
    driver.get('https://my_site.com/page'); 
    driver.wait(until.titleIs('Title'), 2000); 
    var element = driver.findElement(By.css('option[value=\'Tags\']')).click(); 
    var string1 = JSON.stringify(arrJSON[i]); 
    driver.executeScript('document.querySelectorAll(\'iframe\')[0].contentDocument.querySelector(\'p\').innerHTML = ' + string1); 
    driver.sleep(2000); 
} 
+0

嘗試使對象的字符串'JSON.stringify(字符串1) ' –

+0

對不起!試過了,但我忘了將它添加到我的代碼中。 – Valip

+0

不會將'p'標記設置爲'string1'嗎? –

回答

0

這裏有一個快速修復程序在我的結尾工作。所以既然你嵌套objects你也需要JSON.stringify內部對象。所以從我的理解,你真正想要的是JSON.stringify(JSON.stringify(arrJSON[i]))或類似的東西我有如下:

driver.get('https://my_site.com'); 
for(i=0; i<arrJSON.length; i++){ 
    driver.get('https://my_site.com/page'); 
    driver.wait(until.titleIs('Title'), 2000); 
    var element = driver.findElement(By.css('option[value=\'Tags\']')).click(); 
    var string1 = JSON.stringify(arrJSON[i]); 
    driver.executeScript('document.querySelectorAll(\'iframe\')[0].contentDocument.querySelector(\'p\').innerHTML = ' + JSON.stringify(string1)); 
    driver.sleep(2000); 
} 
0

另一個補丁是以下幾點:

driver.executeScript('document.querySelectorAll(\'iframe\')[0].contentDocument.querySelector(\'p\').innerHTML = '" + string1 + "'"); 
相關問題