有没有另一种方法可以用水豚点击菜单项

Is there another way to click on a menu item with Capybara

朋友们仍然尝试,但无法点击 Gestão de Materiais 菜单项。我需要的一种情况是滚动此菜单以查看并单击项目菜单。但我不确定他为什么要点击下面的菜单项 我尝试使用 SitePrism 和纯水豚,但这是不可能的。 当它运行时,它正在点击 Gestao de Empresas

水豚: find(:xpath, "//div[contains(text(),'Gestão de Materiais')]").click find(:xpath, '//*[@id="TBB_tbm2"]/div[3]/div[2]').click

网站棱镜: 元素:item_mn_gestao_materiais,:xpath,“//div[包含(文本(),'Gestão de Materiais')]” 元素 :item_mn_gestao_materais, :css, '#TBB_tbm2 img[src*=articoli64]' 定义 cadastra_diametro_material_ativo item_mn_gestao_materiais.click 结尾 主菜单 基础模块 安装管理 材料管理

尝试水豚和 SitePrism 没有意义,SitePrism 使用水豚,因此如果点击水豚对您不起作用,那么 SitePrism 也不会起作用。

很难说出这里发生了什么,因为您的屏幕截图在页面结构上有弹出窗口,而且屏幕截图也让回答变得更加困难,因为我们无法从中复制粘贴(将屏幕截图用于您页面的图片,而不是 HTML。在问题中添加 HTML 作为文本)。你也没有展示你是如何检测到它点击了错误的按钮。究竟是什么失败了?请参阅 https://whosebug.com/help/how-to-ask

鉴于可见信息,如果我正在写这篇文章,我会写

find('#TBB_tbm2 > div', text: 'Gestão de Materiais').click

遵循两条规则

  1. 除非绝对必要,否则不要使用 XPath
  2. 编写必要的最小选择器

除此之外,根据当前信息不可能再进一步