java【selenium】JavaScript弹框处理

本文介绍使用Selenium WebDriver进行JavaScript弹窗处理的方法,通过ChromeDriver实现自动化测试中对弹窗的确认操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.Alert;

/*
*seleniumJavaScript弹窗处理
*
*/
class JavaScriptbounced {
//定义Webdriver
WebDriver driver;
//定义访问网址
String baseurl;

@BeforeEach
void setUp() throws Exception {
	//谷歌浏览器的本地驱动
	System.setProperty("webdriver.chrome.driver", "/Users/lisen/webselenium/selenium/chromedriver");
	//new一个谷歌浏览器对象
	driver =new ChromeDriver();
	//定义访问网址,访问的是去哪网
	baseurl="file:///Users/lisen/Downloads/PracticePage.html";
	//打开网址过后,设置隐性等待,等待10秒
	driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
	//打开网址后,窗口最大化
	driver.manage().window().maximize();
	//打开网址,调用driver.get方法
	driver.get(baseurl);
	
	
}

@Test
void test1() throws Exception {
	
	//打印log信息
	System.out.println("打开网址完成");
	//点击去哪网登陆按钮,用id查找
	driver.findElement(By.id("name")).sendKeys("list");
	driver.findElement(By.id("alertbtn")).click();
	Thread.sleep(3000);
	//返回一个Alert(弹窗)对象。
	Alert alert=driver.switchTo().alert();
	//操作ok按钮
	alert.accept();
	System.out.println("点击确认按钮完成");
	
	Thread.sleep(3000);
	

}
@Test
void Test2() throws Exception {
	//点击去哪网登陆按钮,用id查找
			driver.findElement(By.id("name")).sendKeys("list");
			driver.findElement(By.id("confirmbtn")).click();
			Thread.sleep(3000);
			//返回一个Alert(弹窗)对象。
			Alert alert=driver.switchTo().alert();
			//操作ok按钮
			alert.accept();
			System.out.println("点击ok按钮完成");
			//点击取消按钮
			//alert.dismiss();
}

@AfterEach
void tearDown() throws Exception {
	//设置等待时间,看清楚操作
	Thread.sleep(2000);
	//关闭浏览器
	driver.quit();	
}

}

Selenium 是一个自动化测试工具,用于在各种浏览器上执行Web应用程序的测试。在使用Selenium进行自动化测试时,处理(如警告、确认和提示)是常见的需求。以下是处理Selenium的基本方法: 1. 处理警告Alert): 当出一个警告时,可以通过Selenium的WebDriverWait和ExpectedConditions来等待警告出现,然后使用alert.accept()来接受警告,或者使用alert.dismiss()来关闭它。 ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() driver.get("http://example.com") WebDriverWait(driver, 10).until(EC.alert_is_present()) alert = driver.switch_to.alert alert.accept() # 点击确定按钮 # 或者 # alert.dismiss() # 点击取消按钮 ``` 2. 处理确认(Confirmation)和提示(Prompt): 确认和提示处理方式与警告类似,只不过它们可能有不同的文本信息和按钮。确认一般有两个按钮:确定和取消。提示通常会包含一个文本输入。 ```python # 确认处理示例 WebDriverWait(driver, 10).until(EC.alert_is_present()) alert = driver.switch_to.alert if "确认信息" in alert.text: alert.accept() # 如果是确认操作 else: alert.dismiss() # 如果是取消操作 # 提示处理示例 WebDriverWait(driver, 10).until(EC.alert_is_present()) alert = driver.switch_to.alert alert.send_keys("输入的信息") # 输入信息 alert.accept() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值