您的位置:首页 > 编程语言 > Java开发

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

2017-06-26 22:50 363 查看
       这篇来玩一个好玩的测试,就是利用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,看起来很酷,其他的好像没有多大用处。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: