首页 文章

量角器中的点不可点击元素

提问于
浏览
1

我有一个模式来上传图像 . 当我点击上传图像时,它导航到本地计算机,然后选择指定的图像 . 导航到本地计算机后出错 .

错误:

消息:失败:未知错误:元素在点(736,187)处不可点击 . 其他元素将收到点击:...(会话信息:chrome = 54.0.2840.99)(驱动程序信息:chromedriver = 2.25.426923(0390b88869384d6eb0d5d09729679f934aab9eed),平台= Windows NT 10.0.14393 x86_64)堆栈:WebDriverError:未知错误:元素在点(736,187)处不可点击 . 其他元素将收到点击:...(会话信息:chrome = 54.0.2840.99)(驱动程序信息:chromedriver = 2.25.426923(0390b88869384d6eb0d5d09729679f934aab9eed),平台= Windows NT 10.0.14393 x86_64)在WebDriverError(C:\ Users \在Object.checkLegacyResponse上的Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ error.js:27:5)(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ error.js:639:15)at parseHttpResponse(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ http \ index.js:538: 13)在ManagedPromise.invokeCallback_(C)的client_.send.then.response(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ http \ index.js:472:11) :\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:1379:14)at TaskQueue.execute_(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \量角器\ node_ modules \ selenium-webdriver \ lib \ promise.js:2913:14)在TaskQueue.executeNext_(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js: 2896:21)在C:\ Users \ Telekha \ AppData \的asyncRun(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:2820:25)漫游\ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:639:7 at process.tickCallback(internal / process / next_tick.js:103:7)来自:任务:WebElement.click()at WebSlement.schedule_上的Driver.schedule(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ webdriver.js:377:17)(C:\ Users \ Telekha \ AppData \漫游\ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ webdriver.js:1744:25)at WebElement.click(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium -webdriver \ lib \ webdriver.js:1845:17)at actionFn(C:\ Users \ Telekha \ AppData \ Roam ing \ npm \ node_modules \ protractor \ built \ element.js:99:44)在Array.map(native)位于C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ built \ element.js:406 :46位于ManagedPromise.invokeCallback(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:1379:14)位于TaskQueue.execute_(C:\ Users \在TaskQueue.executeNext_(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \)中的Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:2913:14) node_modules \ selenium-webdriver \ lib \ promise.js:2896:21)atyncRun(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:2775: 27)ElementArrayFinder.applyAction_(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ built \ element.js:403:27)在ElementArrayFinder.this上出错 . (匿名函数)[点击](C :\用户\ Telekha \应用程序数据\漫游\故宫\ node_modules \量角器\内建\ element.js:10 1:30)在ObjectFinder . (匿名函数)[点击](C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ built \ element.js:740:22)在Object . C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ jasminewd2 index.js:94:23 at new ManagedPromise(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:1082:7)at controlFlowExecute(C:\在TaskQueue.execute(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:2913:14)在TaskQueue.executeNext_(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:2896:21)asyncRun(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ promise.js:2820:25)From:任务:在Object的控制流中运行它(“在仪表板上”) . (C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ jasminewd2 \ index.js:79:14)从异步测试:Suite出错 . 在Object处的(C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ example \ loginpost.js:16:2) . (C:\ Users \ Telekha \ AppData \ Roaming \ npm \ node_modules \ protractor \ example \ loginpost.js:1:1)位于Object.Module._extensions..js的Module._compile(module.js:570:32) (module.js:579:10)在Module.load(module.js:487:32)的tryModuleLoad(module.js:446:12)2规格,1失败 .

和我上传图片的代码:

element( by.css('[ng-click="imagePost()"]') ).click();   
browser.sleep(3000);
element(by.model("files")).click();
var path = require('path'); var fileToUpload = 'Desktop:/mdkg.jpg';
var absolutePath = path.resolve(fileToUpload); 
var button = element(by.css('[ngf-select]')); 
button.click(); 
var input = element(by.css('input[type="file"]'));     
input.sendKeys(absolutePath);
element(by.buttonText('Post Image')).click();

2 回答

  • 0

    您可以使用wait元素进行点击

    var EC = protractor.ExpectedConditions;
     var element = element(by.xpath([xpath_locator]));
    browser.wait(EC.elementToBeClickable(element(by.xpath([xpath_locator]))), 30000).then(function () {
                    element.click();
    });
    

    您可以通过任何定位器选择元素,在这种情况下,我是通过xpath选择它,和

  • 0

    包括此声明:

    browser.driver.manage().window().maximize(); 进入

    onPrepare() protractor.conf.js 文件的方法如下所示 .

    onPrepare () {
     browser.driver.manage().window().maximize();
    }
    

相关问题