如何使用Selenium检查页面上是否突出显示文本?

wor*_*ace 2 java selenium selenium-ide selenium-webdriver

1>突出显示的文字是什么意思?假设您浏览任何页面,使用鼠标或其他方法选择该页面上的任何文本.让我们说"你好","注册"文字突出显示.如果错误,请更正我的理解.

2>我尝试了下面的代码来获得颜色和背景颜色的CssValue.使用给定的代码:

    driver.get("https://facebook.com");
    String textColor = driver.findElement(By.xpath("//*[@id='pageFooter']/div[3]/div/span")).getCssValue("color");
    String bkgColor = driver.findElement(By.xpath("//*[@id='pageFooter']/div[3]/div/span")).getCssValue("background-color");
    System.out.println("TextColor : " + textColor );
    System.out.println("Background Color : " + bkgColor);
Run Code Online (Sandbox Code Playgroud)

输出: -

TextColor : rgba(115, 115, 115, 1)
Background Color : transparent
Run Code Online (Sandbox Code Playgroud)

*TextColor给出文本的颜色.

**为突出显示我使用Robot类发送Ctrl + A,虽然它选择了整个页面,但它应该输出一些不同的值.在这种情况下,它也只提供上面输出的文本颜色.

如果我做得对,或者我对突出显示的文字的理解是正确的,请告诉我.

Sta*_*n E 7

您不能单独使用Selenium,但您可以使用Selenium执行javascript.Js非常简单:

window.getSelection().toString();
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

所以就:

((JavascriptExecutor)driver).executeScript("return window.getSelection().toString();");
Run Code Online (Sandbox Code Playgroud)

PS将无法在<= IE8中工作(将提供您将需要的方式)