Java+Selenium3方法篇27-利用JS处理元素高亮显示【转载】
这篇来玩一个好玩的测试,就是利用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,看起来很酷,其他的好像没有多大用处。

浙公网安备 33010602011771号