异常:
public void click(WebDriver driver, String className) throws Exception {
WebElement element = findElement(driver, By.className(className));
if (element == null) {
return;
}
// 抛出异常
element.click();
}
解决办法:
- 使用
org.openqa.selenium.interactions.Actionspublic void click(WebDriver driver, String className) throws Exception { WebElement element = findElement(driver, By.className(className)); if (element == null) { return; } Actions actions = new Actions(driver); actions.moveToElement(buttonElement).click().build().perform(); } - 滚动元素到可视位置
public void click(WebDriver driver, String className) throws Exception { WebElement element = findElement(driver, By.className(className)); if (element == null) { return; } JavascriptExecutor jse = (JavascriptExecutor) driver; jse.executeScript("arguments[0].scrollIntoView()", element); element.click(); } - 直接执行 js 的点击事件
public void click(WebDriver driver, String className) throws Exception { WebElement element = findElement(driver, By.className(className)); if (element == null) { return; } JavascriptExecutor jse = (JavascriptExecutor) driver; jse.executeScript("arguments[0].click();", element); }
本文介绍了在使用Selenium进行Web自动化测试时,针对元素点击操作的三种优化方案:使用Actions类进行鼠标操作、通过JavaScript滚动元素至可视区域再点击以及直接执行JS点击事件。这些方法能有效解决页面元素不可见或不可交互的问题。
3161

被折叠的 条评论
为什么被折叠?



