Watir:如何捕获通过将鼠标悬停在特定项目上而显示的子项

|| 我正在尝试通过使用以下命令在应用程序中的特定项目上使用鼠标悬停 { ie.text_field(:xpath,\“ // a [包含(text(),\'Deal \')] \”)。fire_event(\'onmouseover \') } 将鼠标悬停在一个项目上时,将显示两个子项目。 是否有任何方法可以通过执行鼠标悬停来捕获属于项的子项,以此报告测试是否通过。 请提出建议。 附加信息 : 如果我们举个例子,在StackOver流页面上,如果我将鼠标悬停在我的名字上,我会看到一个窗口,在该窗口中可以看到活动,特权,注销和其他内容。这真的是我想要的。有没有一种方法可以捕获鼠标悬停在窗口上显示的项目。 我还尝试通过以下方法捕获子项目: { text = ie.text_field(:xpath,\“ // a [包含(text(),\'Deal \')] \”)。fire_event(\'onmouseover \') 放置(text.inspect) } 执行此操作时,“ text”值显示为“ nil”。     
已邀请:
对于这些事情,我的一般策略是结合使用IRB和IE Developer工具或Firebug。 使用IRB,键入(或剪切并粘贴)watir语句,将onmouseover命令触发到页面上的适当元素。 然后让开发人员工具重新扫描DOM(您可以单击一个小的刷新图标)。使用该工具指向一个元素,以指向onmouseover公开的内容中的一项。然后使用其中的信息,可以弄清楚如何处理这些元素,以从适当的div等获取文本。 如果我在将鼠标悬停在我的名字上方时打开的信息中执行此操作,则可以发现它是类“ profile-recent-summary \”的表,此外,我可以查看该表的方式组成,例如,看到'today \'信誉值在该行的第二个单元格中。该行中还包含文本'reputation \'。
browser.table(:class, \'profile-recent-summary\').row(:text, /reputation/).cell(:index, 2).flash
应该刷新我想要的单元格(如果使用firewatir或webdriver,索引可能为1),然后如果我想从该单元格中获取文本,则可以将.flash替换为.text之类的东西(实际上位于该链接中)细胞)..     
不查看您的代码,我将“检查”您尝试验证的元素,并且when_present(文本)断言其为true     

要回复问题请先登录注册