将javascript webdriver.Capabilities转换为字符串

内森·库珀(Nathan Cooper)

我可以在打字稿中使用量角器(硒)browser.driver.getCapabilities()来获取看起来像这样的对象:

Capabilities {
  'acceptSslCerts' => true,
  'applicationCacheEnabled' => false,
  'browserConnectionEnabled' => false,
  'browserName' => 'chrome',
  'chrome' => { chromedriverVersion: '2.24.417431 (9aea000394714d2fbb20850021f6204f2256b9cf)',
  userDataDir: 'C:\\Users\\***\\AppData\\Local\\Temp\\scoped_dir12788_29679' },
  'cssSelectorsEnabled' => true,
  'databaseEnabled' => false,
  'handlesAlerts' => true,
  'hasTouchScreen' => false,
  'javascriptEnabled' => true,
  'locationContextEnabled' => true,
  'mobileEmulationEnabled' => false,
  'nativeEvents' => true,
  'networkConnectionEnabled' => false,
  'pageLoadStrategy' => 'normal',
  'platform' => 'Windows NT',
  'rotatable' => false,
  'takesHeapSnapshot' => true,
  'takesScreenshot' => true,
  'version' => '54.0.2840.71',
  'webStorageEnabled' => true }

通过console.log馈送时的样子。但是,如何在我的代码中获得此字符串表示形式呢?

caps.toJSON()什么也不返回。JSON.stringify(caps),也一无所有。for(let foo in caps)也不产生任何东西。该对象看起来像某种地图。我想将此对象保存到文件中,console.log有什么特殊的魔术作用,我该怎么做?

如果有人知道这是哪种物体,那也将有所帮助。我以为可能是ES6映射,但与将ES6映射与JSON转换中的示例不同,它不是迭代器。

弗洛伦特·B。

该方法getCapabilities返回一个ES6MAP对象。似乎不可能直接序列化此对象。因此,您最好的机会可能是序列化这些条目:

browser.driver.getCapabilities().then(caps => {
  var entries = Array.from(caps.entries());
  console.log(JSON.stringify(entries));
});

或将条目转换为Object,然后对其进行序列化:

browser.driver.getCapabilities().then(caps => {
  var obj = Array.from(caps.entries()).reduce((o, v) => (o[v[0]] = v[1], o), {});
  console.log(JSON.stringify(obj));
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WebDriver C# - 将 WebElement 转换为字符串

来自分类Dev

Selenium webdriver - 无法将“文本”转换为字符串

来自分类Dev

Python Selenium/WebDriver 异常:无法将脚本转换为字符串

来自分类Dev

Javascript,将unicode字符串转换为Javascript转义?

来自分类Dev

将字符串转换为Uri字符串

来自分类Dev

将字符串转换为字节字符串

来自分类Dev

javascript-将字符串转换为json数组

来自分类Dev

将JavaScript字符串转换为数组

来自分类Dev

将字符串转换为对象javascript / jquery

来自分类Dev

Javascript将bigInt转换为字符串

来自分类Dev

将Javascript字符串转换为Guid

来自分类Dev

Javascript将字符串转换为整数

来自分类Dev

将字符串转换为Javascript中的JSON对象

来自分类Dev

将数组转换为字符串Javascript

来自分类Dev

Javascript将字符串转换为日期

来自分类Dev

Javascript:将字符串转换为对象

来自分类Dev

Javascript:无法将字符串转换为数字

来自分类Dev

JavaScript将字符串转换为变量名?

来自分类Dev

将javascript字符串转换为php数组

来自分类Dev

将字符串日期转换为JavaScript日期

来自分类Dev

将字符串数组转换为对象Javascript

来自分类Dev

将字符串数组转换为JAVASCRIPT对象

来自分类Dev

将字符串格式的数组转换为javascript数组

来自分类Dev

将JavaScript语句转换为字符串

来自分类Dev

Javascript将字符串转换为对象(列表/数组)

来自分类Dev

javascript-将字符串转换为json数组

来自分类Dev

将guid字节转换为javascript中的字符串

来自分类Dev

将字符串转换为Javascript中的数组?

来自分类Dev

将datetime对象转换为特定的字符串Javascript