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

C# 在selenium C中移动鼠标光标不在iframe中工作#,c#,selenium,C#,Selenium,我有一个特别的问题。 用例是在搜索元素后转到搜索结果。 但是,单击搜索按钮后,鼠标指针将无限旋转,直到或除非有人移动鼠标指针。 问题是,即使我应用了偏移移动,鼠标指针仍处于旋转位置。 整个页面嵌套在一个框架中。 “移动偏移”在以前的方法中有效,但不适用于此方法 我附上截图和代码 无法在屏幕截图中捕获鼠标指针 截图 我的代码如下 public void AddUser(){ ((IJavaScriptExecutor)d).ExecuteScript("arguments

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

截图

我的代码如下

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();
}

在单击按钮后和移动鼠标之前,是否尝试切换回帧或“defaultContent”

可能您尝试移动到的搜索元素位于另一个帧中。。。也许你必须离开你的实际帧,先输入另一帧。

现在开始工作了。 不需要按偏移移动,因为对象位于帧内。 你可以简单地使用
((IJavaScriptExecutor)d).ExecuteScript(“参数[0]。单击();”,元素)

我将建议两种解决方案,或者在单击搜索按钮后切换到默认帧,或者将光标移动到页面中的其他元素。 请看下面的两种方法,它们可能会对您有所帮助

/**
 * @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);
}

祝你好运

是否有使用
MoveByOffset()
的特定要求?您是如何计算
(-1,-1)
?您是否尝试过
moveToElement(element)
?-1,-1是一个随机数字。问题是,即使我们更改了1 MM,鼠标指针也会更改为选择指针。我试过moveToElement,但它没有改变位置。你好,我检查过了,但整个页面都在一个框架中。