Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 元素在需要滚动的点(194,-212)处不可单击_Javascript_Selenium_Selenium Webdriver_Protractor_Selenium Chromedriver - Fatal编程技术网

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);感谢您的分享。只需将其作为答案发布并接受即可。