【发布时间】:2018-02-28 09:56:55
【问题描述】:
这不是真正的问题,只是分享我的经验。 我正在测试一个包含图表的页面。每当鼠标悬停动作完成时,它旁边都会显示一个小提示。这项工作完美地手动与元素交互。尝试将鼠标悬停在 Selenium 的元素上时会出现问题。
我用下面的代码测试了一下,还是不行
new Actions(getDriver()).moveToElement(graphElement).build().perform();
只有在使用 Actions 之前执行以下代码时才有效
graphElement.click();
即使 Actions 的 click() 方法不起作用。确实需要通过WebElement.click()点击,然后使用Actions...
有没有人对这种行为有类似的经历?为什么要在动作起作用之前点击元素? 因为它与潮流相反。为什么有人会从单击元素开始检查悬停操作时是否显示某些消息?
JS 解决方法(悬停)也无济于事。
感谢您的帖子。
【问题讨论】:
-
尝试:Actions(getDriver()).moveToElement(graphElement).build().perform();
-
可能跟当前的焦点有关。我不知道您尝试了什么,但您可能需要先确保元素或父元素已聚焦,然后才能执行悬停/单击操作。
-
请用相关的HTML更新问题。
-
Deepan: ..build().perform().. 无法正常工作。 Chuk Ultima:你认为专注于父才能专注于嵌套的孩子吗?那么为什么 WebElement.click() 会起作用呢?发现Actions在这种情况下是没用的。如果我单击元素然后再次单击,它会保持焦点,因此会执行悬停。我试图专注于父子父等,但没有成功。如果我想查看页面源代码,我看到 html 代码是不同的。这意味着代码可能是由 JS 动态生成的。我被搞砸了。
标签: selenium