20181128_selenium_java问题集锦(1)

1、WebElement找到,但是element is not clickable.

在定位WebElement时,有时候定位好,发现一点击,报出element is not cilckable.的错误,网上有很多报出次错误的原因,

我只遇到一个,那就是屏幕太长,虽然element找到了,但是,由于屏幕没显示到那,导致,点击不了,故,滚动一下屏幕就行,

在click()之前添上:

((JavascriptExecutor) driver).executeScript("window.scrollBy(224, 600)"); 

两个参数分别为point的横纵坐标,写个大概能到要点击的元素的位置就可。

顺便滚动屏幕的其他办法:

(1)移动到元素element对象的最顶端,与当前窗口的顶部对其:

((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element); 

或者

((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);

(2)移动到元素element的最底端,与当前窗口的底部对其:

((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(false);", element); 

(3)移动到页面最底部:

((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");

(4)移动到指定的坐标(相对于当前的坐标移动)

((JavascriptExecutor) driver).executeScript("window.scrollBy(0, 700)"); 

结合上边的scrollBy语句,相当于移动到700+800=1500的像素位置:((JavascriptExecutor) driver).executeScript("window.scrollBy(0, 800)");

(5)移动到窗口绝对位置坐标:

例,移动到坐标1600像素位置:

((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1600)");

结合上边的scrollTo语句,移动到坐标1200像素位置:

((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1200)");  

  

  

猜你喜欢

转载自blog.csdn.net/u012263702/article/details/84580781
今日推荐