java - 在 Selenium 中,我可以在鼠标悬停操作后执行 getCSSValue ("color")

标签 java selenium

有一种情况,我将鼠标悬停在元素上,然后开始显示一条垂直线,并且我想在悬停后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 Executor 尝试该操作:

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

关于java - 在 Selenium 中,我可以在鼠标悬停操作后执行 getCSSValue ("color"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59210744/

相关文章:

java - 如何将 ArrayList 转换为 ArrayList 的子类型

java - Android:Bundle 与 java.util 集合(如 HashMap)之间有什么区别

java - 将 Class<?> cls 作为方法参数传递?

java - 使用 StringTokenizer 将 CSV 文件转换为二维数组

python - Selenium 在 ipython 和文件之间的行为不同

Java Selenium : open new tab

java - 如何在嵌套类的内部类中构造和使用对象?

asp.net - .NET 和 Jenkins 的 Selenium 性能 - 如何分析和改进它?

java - Selenium "cannot resolve symbol"

firefox - JMeter + Selenium 测试在 Firefox 打开后停止