借鉴与:https://ask.csdn.net/questions/8081814
同样的class如何选择第二个
方式1:
List<WebElement> elementsByCssSelector = driver.findElementsByCssSelector(".el-input__inner");
int size = elementsByCssSelector.size();
elementsByCssSelector.get(0).sendKeys("admin");
elementsByCssSelector.get(1).sendKeys("admin");
方式2:推荐
List<WebElement> elementsByCssSelectorAa4b = driver.findElementsByCssSelector("._aa4b._add6._ac4d._ap35");
for循环下
String type = elementsByCssSelectorAa4b.get(i).getAttribute("type");
String name = elementsByCssSelectorAa4b.get(i).getAttribute("name");
String attribute = elementsByCssSelectorAa4b.get(i).getAttribute("aria-label");
直接将整个class内容都复制进去,最后执行点击操作
driver.findElementByCssSelector("[class=\"x9f619 xjbqb8w x78zum5 x168nmei x13lgxp2 x5pf9jr xo71vjh x1xmf6yo x1e56ztr x540dpk x1m39q7l x1n2onr6 x1plvlek xryxfnj x1c4vz4f x2lah0s xdt5ytf xqjyukv x1qjc9v5 x1oa3qoh x1nhvcw1\"]").click();
等待页面加载完成
适合N多的class参数,直接将整个class内容都复制进去,最简单粗暴
new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("[class=\"x9f619 xjbqb8w x78zum5 x168nmei x13lgxp2 x5pf9jr xo71vjh x1n2onr6 x1plvlek xryxfnj x1c4vz4f x2lah0s xdt5ytf xqjyukv x1qjc9v5 x1oa3qoh x1nhvcw1\"]")));
适合少数几个class参数
new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("._aa4b._add6._ac4d._ap35")));
根据ID元素查找并输入值和点击,最终获取指定id元素的text内容
// 等待页面加载完成-通过ID元素判断
new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOfElementLocated(By.id("listToken")));
// 为指定id元素填写内容
driver.findElementById("listToken").sendKeys(sercet);
driver.findElementById("submit").click();
// 假设你要获取的元素有id属性
WebElement element = driver.findElement(By.id("output"));
//获取text内容
String text = element.getText();