Java Selenium JavaScript相关应用

基本应用:进入百度,弹出alert提示框

这里写图片描述

代码:

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;
import org.testng.annotations.Test;

public class Te {

     public WebDriver driver;
     @Test
     public void test01(){    
            System.setProperty("webdriver.chrome.driver", "D:\\JavaSelenium\\Driver\\chromedriver61-63\\chromedriver.exe");    
            driver = new ChromeDriver();    
            //driver.manage().window().maximize();   
            driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);  
            driver.get("https:www.baidu.com/");
            JavascriptExecutor js=(JavascriptExecutor) driver;
            js.executeScript("alert('hello,world!')")
     }
}

为元素赋值:进入百度,搜索框输入:hello

这里写图片描述

代码:

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;
import org.testng.annotations.Test;

public class Te {

     public WebDriver driver;
     @Test
     public void test01(){    
            System.setProperty("webdriver.chrome.driver", "D:\\JavaSelenium\\Driver\\chromedriver61-63\\chromedriver.exe");    
            driver = new ChromeDriver();    
            //driver.manage().window().maximize();   
            driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);  
            driver.get("https:www.baidu.com/");

            //找到百度首页的百度一下旁边的输入框
            WebElement element=driver.findElement(By.id("kw"));
            JavascriptExecutor js=(JavascriptExecutor) driver;
            //Javascript操作为元素赋值,适用于input,select等,其中arguments[0]代表我们的要操作的element,
            //之后我们可以对我们的元素进行操作,比如赋值:"arguments[0].value='hello'",
            //去除某个属性:"arguments[0].removeAttribute('readonly','readonly')"
            js.executeScript("arguments[0].value='hello'",element);
     }
}

去除属性:eg:readonly,有些输入框具有reonly属性,无法正常输入,我们可以去除该属性再进行输入

这里写图片描述

 WebElement element=driver.findElement(By.id("***"));
            JavascriptExecutor js=(JavascriptExecutor) driver;
            //Javascript操作为元素赋值,适用于input,select等,其中arguments[0]代表我们的要操作的element,
            //之后我们可以对我们的元素进行操作,比如赋值:"arguments[0].value='hello'",
            //去除某个属性:"arguments[0].removeAttribute('readonly','readonly')"
            js.executeScript("arguments[0].removeAttribute('readonly','readonly')",element);
            //之后就可以正常进行输入了
            element.sendKeys("hello");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值