gpt4 book ai didi

ruby - 鼠标悬停在水面上,没有检测到

转载 作者:行者123 更新时间:2023-11-28 20:57:45 26 4
gpt4 key购买 nike

我试图在 ruby​​ 上的 Watir 中触发鼠标悬停在下拉窗口上。

我已经尝试使用下面的两个脚本,到目前为止都没有用。:

$browser.div(:class => "rolloverMAINMenu").fire_event("onMouseOver")

$browser.a(:style=>"background-color:cccccc;width:200px;").fire_event("onMouseOver")

HTML:

<font COLOR="green">
<a style="background-color:cccccc;width:200px;" onmouseover="rolloverMenu(1, 'mainMenu');" onmouseout="rolloverMenu(0, 'mainMenu');"
onclick="rolloverMenu(0, 'mainMenu');">
&nbsp;&nbsp;<B> Roll Over Menu </B></a>

<div style="background-color:cccccc;width:200px;" class="rolloverMAINMenu" id="mainMenu" style="display: none;" onmouseover="rolloverMenu(1, 'mainMenu');"`

最佳答案

对于 div,因为它有一个 ID,我建议使用它来识别它,因为 ID 值(根据 HTML 规范)在页面上应该是唯一的。这将确保您选择了正确的元素。

其次,由于代码正在寻找“onmouseover”,我会以这种方式指定事件而不使用驼峰式

browser.div(:id, 'mainMenu').fire_event('onmouseover')

对于链接,您遇到的问题是识别它。我没有看到 :style 被列为 identifying elements 的选项(尽管该文档可能已过时)我可能建议使用文本或其他方面,或者您可能需要求助于 xpath。

browser.link(:text, /Roll Over Menu/).fire_event('onmouseover')

或者由于链接设置为对点击使用react,您也可以尝试

browser.link(:text, /Roll Over Menu/).click 

如果您将它们放在脚本中,因为客户端正在执行 javascript 方法来响应事件,您可能需要在脚本中稍作暂停,以便在您更新 DOM 之前尝试与呈现在屏幕上的任何元素交互以响应鼠标悬停或单击

关于ruby - 鼠标悬停在水面上,没有检测到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7970143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com