java【selenium】selenium执行调用JavaScript命令

import static org.junit.jupiter.api.Assertions.*;

import java.util.concurrent.TimeUnit;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import Test1.ChromeDriveDemo;

class PerformJavaScript {

WebDriver driver;
String baseurl;
private JavascriptExecutor js;


@BeforeEach
void setUp() throws Exception {
	//谷歌浏览器的本地驱动
			System.setProperty("webdriver.chrome.driver", "/Users/lisen/webselenium/selenium/chromedriver");
			//谷歌浏览器
			driver=new ChromeDriver();
			//设置访问网址
			baseurl="https://www.baidu.com/";
			//
			//将WebElement类型的driver强制转换为js类型的
			js=(JavascriptExecutor) driver;
			
			
			
			
			//设置隐性等待
			driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
			//窗口最大化
			driver.manage().window().maximize();
			
			
}

@Test
void test() throws Exception {
	//打开网址
	//使用Javascript语言打开百度网址
	js.executeScript("window.location='https://www.baidu.com/';");
	System.out.println("执行Javascript命令完成");
	//等待3秒钟
	Thread.sleep(3000);
	//查找元素
	//向下转型,将WebElement 转换为object
	WebElement TestBOx=(WebElement)js.executeScript("return document.getElementById('kw');");
	System.out.println("执行Javascript,根据ID查找元素完成");
	TestBOx.sendKeys("test");
	
}

@AfterEach
void tearDown() throws Exception {
	//等待
	Thread.sleep(3000);
	//关闭浏览器
	driver.quit();
}

}

你可能感兴趣的:(java【selenium】selenium执行调用JavaScript命令)