Java自动化测试(特殊元素处理 25)

tech2025-02-10  28

下拉框

找到下拉框所在元素

导入import org.openqa.selenium.support.ui.Select;

新建Select对象

通过getOptions拿到全部选项内容

通过selectByIndex或者selectByValue或者selectByVisibleText分别以index,value,text来选择

WebElement selectElement = driver.findElement(By.id("modules")); Select select = new Select(selectElement); List<WebElement> options = select.getOptions(); System.out.println(options); System.out.println(select.isMultiple()); select.selectByIndex(1); Thread.sleep(200); select.selectByValue("20"); Thread.sleep(2000); select.selectByVisibleText("switch");

iframe

需要将driver的焦点切换到iframe中

索引

页面上从0开始的iframe

driver.switchTo().frame(index);

id

元素的id名称

driver.switchTo().frame(nameOrId);

iframe WebElement

driver.switchTo().frame(WebElement);

跳转到父级iframe中

driver.switchTo().parentFrame()

回到默认内容页面

driver.switchTo().defaultContent()

切换windows窗口

打开新页面之后需要进行切换才能定位到新页面的内容

切换需要传入窗口的handle句柄

driver.switchTo().window(nameOrHandle)

获取句柄

driver.getwindowHandle(); //获取当前窗口句柄 driver.getwindowHandles();//获取全部窗口句柄

切换Alart弹框

driver.switchTo().alart()

获取弹出框中的提示信息

alart.getText()

点击确认按钮

alart.accept()

点击取消按钮

alart.dismiss();

鼠标操作

clickAndHold() //左键点击并且不释放 release()      //在特定元素上释放左键 doubleClick()  //双击左键 moveToElement()//移动鼠标指针到特定元素 contextClick() //在特定元素上右键点击 dragAndDrop()  //拖拽元素 perform()      //执行具体操作,前面方法都是声明操作,调用perform后才会执行

完成一系列操作:

Actions actions = new Actions(driver); WebElement a = driver.findElement(By.id("a")); WebElement b = driver.findElement(By.id("b")); actions.clickAndHold(a).moveToElement(b).release().perform();
最新回复(0)