Javascript 从要点调用函数

Javascript 从要点调用函数,javascript,function,gist,synthetic,Javascript,Function,Gist,Synthetic,我试图从一个要点中调用JS函数,以便在合成脚本中使用 JS要点: function FBTEST(){console.log("Test function working.");} // Clicks function FBXPC(XPATH){$browser.findElement($driver.By.xpath(XPATH)).click();} function FBLTC(LINKTEXT){$browser.findElement($driver.By.linkText(LINKT

我试图从一个要点中调用JS函数,以便在合成脚本中使用

JS要点:

function FBTEST(){console.log("Test function working.");}
// Clicks
function FBXPC(XPATH){$browser.findElement($driver.By.xpath(XPATH)).click();}
function FBLTC(LINKTEXT){$browser.findElement($driver.By.linkText(LINKTEXT)).click();}
function FBIDC(ID){$browser.findElement($driver.By.id(ID)).click();}
function FBNMC(NAME){$browser.findElement($driver.By.name(NAME)).click();}
function FBCNC(CLASSNAME){$browser.findElement($driver.By.className(CLASSNAME)).click();}
// Send Keys
function FBXPSK(XPATH,SK){$browser.findElement($driver.By.xpath(XPATH)).sendKeys(SK);}
function FBLTSK(LINKTEXT,SK){$browser.findElement($driver.By.linkText(LINKTEXT)).sendKeys(SK);}
function FBIDSK(ID,SK){$browser.findElement($driver.By.id(ID)).sendKeys(SK);}
function FBNMSK(NAME,SK){$browser.findElement($driver.By.name(NAME)).sendKeys(SK);}
function FBCNSK(CLASSNAME,SK){$browser.findElement($driver.By.className(CLASSNAME)).sendKeys(SK);}
console.log("fbf_0.0.1 initialised.")
到目前为止,我可以成功运行Gist,但是我似乎无法从Gist中调用函数

调用要点的合成脚本

var req = require('urllib-sync').request;
var res = req('https://gist.githubusercontent.com/robhalli/c03e4fe370da9528898d85a0718cf6b2/raw/3667377b02175008eb425e8966722113df87faac/fbf.js');
var monitorBody = new Function('$browser', res.data);

monitorBody();
我希望能够从上面的要点调用函数

例如:

$browser.FBTEST();

应该在控制台中打印“测试功能正常”。但是,它当前没有正确调用函数。

您可以使用NodeJS
vm
package


那么实际添加一个
标记,然后调用函数怎么样?@Flame这是专门针对使用Node.js的合成脚本的,因此据我所知,无法使用。哦,你说得对,那没有任何用处。也许使用
eval
会有所帮助,但我相信它非常接近
新功能
const vm = require('vm');
const $browser = { };
vm.createContext($browser);

const code = res.data;
vm.runInContext(code, $browser);

$browser.FBTEST();