当前位置: 首页 > 知识库问答 >
问题:

在selenium C中移动鼠标光标不在iframe中工作#

钱星华
2023-03-14

我有一个特别的问题。用例是在搜索元素后转到搜索结果。但是,单击搜索按钮后,鼠标指针会无限旋转,直到有人移动鼠标指针。问题是,即使我应用了偏移移动,鼠标指针仍处于旋转位置。整个页面嵌套在一个框架中。移动偏移在以前的方法中是有效的,但不是为了这个,我附加了屏幕截图和代码,在屏幕截图中无法捕获鼠标指针

截图

public void AddUser(){
            ((IJavaScriptExecutor)d).ExecuteScript("arguments[0].click()", Add_User);
            Select_Partner.Click();
            driver.SwitchTo().Frame("vplfWindow_organizationPicker_0");
            Wait.UntilElementDisplayed(driver, Enter_Partner_id);
            //Enter_Partner_id.SendKeys(ExcelClassTemp.ReadExcel(Excel, 2, 12, 2));
            String str = ExcelClassTemp.ReadExcel(Excel, 2, 12, 2);
            ((IJavaScriptExecutor)d).ExecuteScript("arguments[0].value=arguments[1];", Enter_Partner_id, str);
            ExcelClassTemp.release_Excel(Excel, 2);
            Search_Partner.Click();
            Actions action = new Actions(driver);
            action.MoveByOffset(-1, -1).Perform();
}

共有3个答案

孟海
2023-03-14

我将建议两种解决方案,或者在点击搜索按钮后切换到默认框架,或者将光标移动到页面中的其他元素。下面是两种可能对你有所帮助的方法。

/**
 * @author mbn217
 * @Date -----
 * @Purpose This method will helps us to switch to a default content
 * @param N/A
 * @return N/A
 */
public static void switchToDefaultContent() {
    log.info("Switching o default content");
    driver.switchTo().defaultContent();

}

第二种方法将鼠标悬停在网页中选择的元素上

/**
 * @author mbn217
 * @Date -----
 * @Purpose This method will hover to an element
 * @param HovertoWebElement --> element of the webpage
 * @return N/A
 */ 
public static void hoverToWebelement(WebElement HovertoWebElement) throws InterruptedException {
    log.info("Hovering over an element");
    Actions builder = new Actions(driver);
    builder.moveToElement(HovertoWebElement).perform();
    Thread.sleep(2000);
}

祝你好运

戈念
2023-03-14

它现在可以工作了。不需要按偏移量移动,因为对象在框架内。您可以简单地使用((IJavaScriptExecator)d)。执行脚本(“参数[0]. click();”,元素);

史默
2023-03-14

在单击按钮后和移动鼠标之前,您是否尝试切换回Frame或defaultContent?

也许你试图移动到的搜索元素在另一个框架中。。。也许你必须先离开你的实际帧,再进入另一帧。

 类似资料:
  • 问题内容: 我想制作一个可以测量光标到组件中心的距离,然后将光标移回中心的应用程序(就像大多数PC视频游戏一样)。有没有人有什么建议? 问题答案: 机器人课可以帮您解决问题。以下是用于移动鼠标光标的示例代码:

  • ================================ 操作系统:Win7 硒:2.33.0 Firefox:22.0 Python:2.7.4 ================================ 我想用“move_to_element”方法将鼠标光标移动到元素“input”上,但不能这样做。 有人有这个问题吗? ==============================

  • 问题内容: 我想在C程序中前后移动光标。我正在读取一个循环中的整行,但是我希望如果按下光标键,屏幕上的光标会改变位置,而不会阻塞循环。我试过了,但它阻止了呼叫者,直到按下它为止。我正在寻找的是一种类似于bash提示的行为。我正在阅读与此类似的代码: 我正在尝试上面的功能像在库上一样 问题答案: 使用和控制台代码(兼容VT100-非便携式):

  • 问题内容: 我在JList中有一个单词列表。每次将鼠标光标指向一个单词时,我都希望光标变为手形光标。现在我的问题是该怎么做? 有人可以帮我解决这个问题吗? 问题答案: 在JList上使用MouseMotionListener来检测鼠标何时输入,然后调用将其转换为。 样例代码:

  • 但是,当移动鼠标指针时,该功能将被破坏。 为了进一步澄清,如果我在鼠标轮上放大一个缺口,图像就会在正确的位置周围放大。这种行为在我放大鼠标轮的每一个缺口上都继续进行,完全如预期的那样。但是,如果在放大一部分后,我将鼠标移到不同的位置,功能就会中断,我必须完全缩小以改变缩放位置。 预期的行为是为了在缩放过程中鼠标位置的任何变化都能正确地反映在缩放的图像中。 虽然这对于当图像完全缩小时选择的固定鼠标位

  • 问题内容: 我尝试在Linux中控制鼠标。Xlib似乎可以工作,但是当我尝试将其与OpenCV一起使用时,它会不断返回: 所以我决定写“ / dev / psaux”。代码如下: 用以下命令编译: 运行并获得 但是鼠标不会移动。然后,我打开一个新终端,输入“ sudo cat / dev / psaux”并运行“ my_psaux”。但是我什么都没有。 什么都没有写到“ / dev / psaux