Java+Selenium3方法篇27-利用JS处理元素高亮显示

来源:互联网 发布:汉王全屏幕软件下载 编辑:程序博客网 时间:2024/06/05 07:44

       这篇来玩一个好玩的测试,就是利用javascript让测试过程中的元素高亮显示,例如在登录框,让输入框背景颜色设置成黄色,边框设置2个像素,颜色是红色。这个问题,我在一家公司的笔试题上看见过,所以这里就实现了测试下。相关脚本如下。

package lessons;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class ElementOpration {public static void main(String[] args) throws Exception {                  System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");                     WebDriver driver = new ChromeDriver();               driver.manage().window().maximize();                 driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);                  driver.get("https://www.baidu.com/");                 Thread.sleep(2000);                // 点击登录        driver.findElement(By.xpath("//*[@id='u1']/a[7]")).click();        Thread.sleep(500);                WebElement username = driver.findElement(By.id("TANGRAM__PSP_8__userName"));                // 创建一个JavascriptExecutor对象        JavascriptExecutor js= (JavascriptExecutor)driver;                username.sendKeys("abcdefg");        // 设置颜色        js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');",username);                WebElement password = driver.findElement(By.id("TANGRAM__PSP_8__password"));        js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');",password);                   }  }
       运行结果:输入过程不会变颜色,输入结束,里面变成我们想要的红色边框和黄色背景。这个效果,好像在公司里面给别人颜色demo,看起来很酷,其他的好像没有多大用处。