【selenium】定位元素
定位元素
通过Webdriver的实例对象,调用 findElement(By)方法查找元素WebElement对象
WebElement indexbox = driver.findElement(By.id("indexbox"));
List<WebElement> elements = driver.findElements(By.tagName("className"));
在WebElement里面找寻元素
WebElement button =indexbox.findElement(By.className("dir_submit"));
By类
By
By.id("dir_from_ipt")
By.cssSelector("#plantitle_0")
By.className("dir_submit")
By.xpath("//*[@id=\"plantitle_0\"]")
By.name(namestr)
By.linkText(linktextstr)
By.partialLinkText(partiallinktextstr)
By.tagName(tag)
解决问题,通过点击页面按钮触发dom加载新的元素,如果加载不完成,元素会无法找到
设置等待元素出现
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
WebElement webElement = wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#plantitle_0")));
webElement.click();