Javascript 元素在需要滚动的点(194,-212)处不可单击
我在跑呼噜量角器Javascript 元素在需要滚动的点(194,-212)处不可单击,javascript,selenium,selenium-webdriver,protractor,selenium-chromedriver,Javascript,Selenium,Selenium Webdriver,Protractor,Selenium Chromedriver,我在跑呼噜量角器 量角器:2.0.0 茉莉花:1.3 Linux Ubuntu 14.4 单击“下一页”按钮时出现问题,下面出现错误 未知错误:未知错误:元素在点(194, -212)(会话信息:chrome=42.0.2311.90)(驱动程序信息:chromedriver=2.14.313457 (3D645C400EDF2E2C500566C9AA09063E707C9CF),平台=Linux 3.13.0-49-带堆栈跟踪的通用x86_64)` 未知错误:未知错误:元素在点(194,
量角器:2.0.0
茉莉花:1.3
Linux Ubuntu 14.4
单击“下一页”按钮时出现问题,下面出现错误 未知错误:未知错误:元素在点(194, -212)(会话信息:chrome=42.0.2311.90)(驱动程序信息:chromedriver=2.14.313457 (3D645C400EDF2E2C500566C9AA09063E707C9CF),平台=Linux 3.13.0-49-带堆栈跟踪的通用x86_64)` 未知错误:未知错误:元素在点(194, -212)(会话信息:chrome=42.0.2311.90)(驱动程序信息:chromedriver=2.14.313457 (3D645C400EDF2E2C500566C9AA09063E707C9CF),平台=Linux 3.13.0-49-generic x86_64)新机器人错误(/home/hasan/WebstormProjects/test/node_modules/dragrator/node_modules/selenium webdriver/lib/atoms/Error.js:113:18) 在Object.bot.response.checkResponse (/home/hasan/webstromprojects/test/node_modules/dragrator/node_modules/selenium-webdriver/lib/atoms/response.js:106:9) 在 /home/hasan/webstromprojects/test/node_modules/dragrator/node_modules/selenium webdriver/lib/webdriver/webdriver.js:377:20 在[object object].promise.ControlFlow.runInFrame_ (/home/hasan/webstromprojects/test/node_modules/dragrator/node_modules/selenium-webdriver/lib/webdriver/promise.js:1877:20) 在[object object].promise.Callback\uUg.goog.defineClass.notify处 (/home/hasan/webstromprojects/test/node_modules/dragrator/node_modules/selenium-webdriver/lib/webdriver/promise.js:2464:25) 在[object].promise.promise.notify处_ (/home/hasan/webstromprojects/test/node_modules/dragrator/node_modules/selenium-webdriver/lib/webdriver/promise.js:563:12) at Array.forEach(本机)at Object.goog.Array.forEach (/home/hasan/webstromprojects/test/node_modules/dragrator/node_modules/selenium-webdriver/lib/goog/array/array.js:203:43) 位于[object].promise.promise.notifyAll_ (/home/hasan/webstromprojects/test/node_modules/dragrator/node_modules/selenium-webdriver/lib/webdriver/promise.js:552:16) 位于[object object].goog.async.run.processWorkQueue[as\u onTimeout] (/home/hasan/webstorprojects/test/node_modules/dragrator/node_modules/selenium-webdriver/lib/goog/async/run.js:125:21) [object]处出错。ElementArrayFinder.applyAction_ (/home/hasan/webstoreprojects/test/node_modules/dragrator/lib/element.js:403:21) 在[object object].self.(匿名函数)[as click] (/home/hasan/webstoreprojects/test/node_modules/dragrator/lib/element.js:76:19) 在[object object].self.(匿名函数)[as click] (/home/hasan/webstoreprojects/test/node_modules/dragrator/lib/element.js:733:11) 在[对象]
关于stackoverflow的一个线程,我处理过,下面是我的代码
it("It should click next page botton" + pageIndex, function() {
pageIndex++;
//var nextPageSelector = element(by.id("pageNavigator_" + pageIndex));
var nextPageSelector = element(by.xpath('//li[@class="next"]/a'));
browser.debugger();
//expect(browser.isElementPresent(nextPageSelector)).toBeTruthy();
console.log("Page title: " + pageTitles.length + "Page index" + pageIndex);
if (pageIndex <= pageTitles.length) {
console.log("About to click next button");
//console.log("Co-ordinates: "+ nextPageSelector2.getCoordinates());
nextPageSelector.getLocation().then(function(buttonLocation) {
console.log("X coordinate: " + buttonLocation.x + " Y Coordinate: " + buttonLocation.y);
var sc = '"scroll(' + buttonLocation.x + ', ' + buttonLocation.y + ')"';
console.log("Statement: " + sc);
browser.actions().mouseMove(buttonLocation.x , buttonLocation.y);//.click().perform();
//browser.executeScript(sc); //
browser.wait(2000);
nextPageSelector.click().then(function() {
console.log("Successfully clicked");
browser.waitForAngular();
}, function() {
console.log("Unable to click");
});
});
}
});
it(“它应该单击下一页botton”+pageIndex,function(){
pageIndex++;
//var nextPageSelector=element(by.id(“pageNavigator”+pageIndex));
var nextPageSelector=element(by.xpath('//li[@class=“next”]/a');
browser.debugger();
//expect(browser.isElementPresent(nextPageSelector)).toBeTruthy();
console.log(“页面标题:+pageTitles.length+“页面索引”+pageIndex”);
如果(pageIndex这个技巧对我有效:
var filterWidget = browser.findElement(by.id(widgetsId));
var scrollIntoView= function() { arguments[0].scrollIntoView(); };
browser.executeScript(scrollIntoView, filterWidget);
您还可以在配置文件中设置窗口大小
在pergrator.conf.js中:
onPrepare: function() {
browser.manage().window().setSize(1600, 1000);
}
暗中猜测:您是否尝试过最大化浏览器窗口:browser.driver.manage().window().maximize();
?谢谢,但没有帮助。这个技巧对我有用var filterWidget=browser.findElement(by.id(widgetsId));var scrollView=function(){arguments[0].scrollIntoView();};browser.executeScript(scrollView,filterWidget);感谢您的分享。只需将其作为答案发布并接受即可。