元素在点(1254,21)不可点击。 其他元素将获得点击

我正在使用angularJS量angular器和selenium服务器进行UItesting,

这是我的TestCase:

it('Click on Top Headings one by one', function () { //click on Top Heading one by one ptor.element.all(by.repeater('application in workbenchOptions.applications')).then(function (arrs) { ptor.sleep(3000); arrs[2].click(); ptor.sleep(3000); arrs[3].click(); ptor.sleep(3000); arrs[1].click(); ptor.sleep(3000); arrs[2].click(); ptor.sleep(3000); arrs[0].click(); ptor.sleep(2000); }); }); 

这是我的用户界面,我试图单击每个标题

http://i.stack.imgur.com/zVE9K.png

首先我点击arrs[2]arrs[2] Test Case

http://i.stack.imgur.com/YRE2s.png

然后我点击arrs[3]arrs[1]arrs[2]arrs[0] ,一切都点击,但如果在开始时假设arrs[0]已经打开,那么我不能点击这又一次,我得到了一个错误消息

 UnknownError: unknown error: Element is not clickable at point (1254, 21). Other element would receive the click: <div class="slider-wrapper pl-pageslide-wrapper" style="transition: width 0.3s, height; -webkit-transition: width 0.3s, height; z-index: 1000; position: fixed; left: 0px; top: 0px; bottom: 0px; right: 0px; width: auto; background: rgba(0, 0, 0, 0.498039);">...</div> 

我针对Chrome和Firefox进行了testing,发生相同的错误

我有一个与没有固定位置的元素类似的问题。 我在量angular器中使用了下面的代码:

 var el = ...; // some protractor element el.getLocation().then(function(location) { browser.executeScript("window.scrollTo(0," + (location.y - 70)+ ")"); el.click(); }); 

注意:我也使用-70px的偏移量,因为页面的顶部有一个菜单。 如果没有偏移量,元素将滚动到菜单后面,并再次显示消息“元素不可单击…”。

我认为这对你有帮助:

 ptor.executeScript('window.scrollTo(1254,21);').then(function() { element(by.<<here your button locator>>).click(); }) 

你的webdriver无法读取该点(1254,21),原因是你的量angular器浏览器无法覆盖整个页面你想testing什么,然后我们给出一个命令,浏览器滚动到那个点(1254,21 ),然后执行点击操作