【发布时间】:2021-06-03 18:33:57
【问题描述】:
我有一个在 Ubuntu 20.04 上运行的功能齐全的 nw.js 应用程序。我可以使用 ruby 的 selenium-webdriver gem 来访问应用程序的 Web 组件(以角度编写)。我可以访问主窗口上的组件,单击按钮等等。效果很好。
require 'selenium'
require 'selenium-webdriver'
但我无法访问 nw.js 菜单。例如,我有一个名为“Info”的 MenuItem,无法从 ruby 脚本中单击它。当我手动单击菜单时,菜单可以正常工作。但是 Selenium ruby 脚本似乎无法访问它。
我尝试添加一个键序列以访问 MenuItem。同样,手动“Alt-I”可以正常工作,但是当我使用时
web.driver.action.key_down(:alt).send_keys('i').perform
它失败了。据我所知,这条线没有效果。
nw.js 文档没有关于此的信息,也没有我能找到的任何示例代码。我尝试了谷歌,再次没有我可以看到的示例代码。
如果你有这个在 ruby 或 python 中工作(我可以翻译它)请发布。
编辑:这是相关的菜单代码:
export class MenuService {
public menubar: nw.Menu;
private info_menu: nw.MenuItem
<snip>
this.menubar = new window.nw.Menu({
type: 'menubar'
});
// add submenu to the menubar
this.info_menu = new window.nw.MenuItem({
label: 'Info',
tooltip: 'Get info',
key: 'i',
modifiers: 'alt',
click: () => {
this.show_info()
}
})
this.menubar.append(this.info_menu)
<snip>
}
【问题讨论】:
-
请添加您的代码、html、菜单截图等。
标签: selenium node-webkit