Java 在selenium中,我可以在鼠标悬停操作后执行getCSSValue(“color”)吗

Java 在selenium中,我可以在鼠标悬停操作后执行getCSSValue(“color”)吗,java,selenium,Java,Selenium,在一个场景中,我将鼠标悬停在元素上,然后一条垂直线开始显示,我希望在鼠标悬停后getCSSValue 通常不使用xpath.getCSSValue(“color”)直接悬停给了我颜色,但我想要的是首先将鼠标悬停在该元素上,然后它将开始显示红色垂直线,然后获取颜色值 我知道/尝试过,getCSSValue(“color”)操作类方法,但操作类不允许它 public By hoverOnAccount = By.xpath("myxpath"); WebElement abcd = driver.

在一个场景中,我将鼠标悬停在元素上,然后一条垂直线开始显示,我希望在鼠标悬停后
getCSSValue

通常不使用xpath.getCSSValue(“color”)直接悬停给了我颜色,但我想要的是首先将鼠标悬停在该元素上,然后它将开始显示红色垂直线,然后获取颜色值

我知道/尝试过,
getCSSValue(“color”)
操作类方法,但操作类不允许它

public By hoverOnAccount = By.xpath("myxpath"); 
WebElement abcd = driver.findElement(hoverOnAccount);
String abc = abcd.getCssValue("color");

有人能提出建议吗?

这应该行得通,还请添加您尝试过的操作方法

WebElement hoverElement = driver.findElement(yourElementSelector);
Actions action = new Actions(driver);
action.moveToElement(hoverElement).build().perform();

hoverElement.getCSSValue("color");
如果该操作不起作用,您可以使用
JavaScript执行器尝试该操作:

String javaScript = "var evObj = document.createEvent('MouseEvents');" +
                    "evObj.initMouseEvent(\"mouseover\",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);" +
                    "arguments[0].dispatchEvent(evObj);";


((JavascriptExecutor)driver).executeScript(javaScript, hoverElement);

我所做的是通过hoverOnAccount=By.xpath(“myxpath”)公开的;然后WebElement abcd=driver.findElement(hoverOnAccount);字符串abc=abcd.getCssValue(“color”);。成功了。但我有一个问题,“XXXX公共”是什么。以及为什么要将其分配给web元素。所以,就像定义变量一样,您是按变量定义的@KavitaKulkarniah知道了。但我想我们不能同时使用hover和getCSSValue,如果我错了,请纠正我。它必须是顺序的。