//各位老铁好
本次文章是介绍,selenium比较重要的一点,就是查看元素是否为隐藏状态,例如有些web元素,是需要点击一些按钮才会显示的,例如点击购买,才会出现价格,元素往往为隐藏状态,此篇文章,就是介绍,元素是否可点击,练习网站是自己写的,请自己找一些网站去练习。
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.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
/*
- selenium重要,查看元素隐藏还是显示状态
*/
class elementDisplayed {
//定义Webdriver
WebDriver driver;
//定义访问网址
String baseurl;
@BeforeEach
void setUp() throws Exception {
//本地谷歌浏览器驱动
System.setProperty("webdriver.chrome.driver", "/Users/lisen/webselenium/selenium/chromedriver");
//初始化谷歌浏览器
driver=new ChromeDriver();
//定义访问网址
baseurl="file:///Users/lisen/Downloads/PracticePage.html";
//设置隐性等待
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//窗口最大化
driver.manage().window().maximize();
}
@Test
void test() throws Exception {
//打开网址
driver.get(baseurl);
//打印log信息
System.out.println("网址访问成功");
//查找元素
WebElement TestBox= driver.findElement(By.id("displayed-text"));
//初始状态元素是显示还是隐藏
System.out.println("文本框的显示"+TestBox.isDisplayed());
//如果为true的话,就输入内容
if (TestBox.isDisplayed()==true) {
TestBox.sendKeys("selenium");
}
//点击隐藏按钮
WebElement hidetextbox=driver.findElement(By.id("hide-textbox"));
hidetextbox.click();
System.out.println("点击隐藏按钮");
System.out.println("文本框的显示"+TestBox.isDisplayed());
//点击显示按钮
WebElement showtextbox=driver.findElement(By.id("show-textbox"));
showtextbox.click();
System.out.println("点击显示按钮");
System.out.println("文本框显示"+TestBox.isDisplayed());
}
@AfterEach
void tearDown() throws Exception {
//等待2秒,方便看清楚操作
Thread.sleep(2000);
//关闭浏览器
driver.quit();
}
}