首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Gist调用函数

从Gist调用函数
EN

Stack Overflow用户
提问于 2018-10-16 12:21:09
回答 1查看 231关注 0票数 2

我试图从Gist调用JS函数,以便在合成脚本中使用。

JS Gist:

代码语言:javascript
复制
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内部调用这些函数。

合成剧本叫吉斯特。

代码语言:javascript
复制
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();

我希望能够从上面的Gist调用函数。

例如:

代码语言:javascript
复制
$browser.FBTEST();

应该打印“Test function That .”在控制台里。但是,它目前没有正确调用该函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-23 06:05:20

您可以使用NodeJS vmhttps://nodejs.org/api/vm.html

代码语言:javascript
复制
const vm = require('vm');
const $browser = { };
vm.createContext($browser);

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

$browser.FBTEST();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52835366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档