我有一个模式来上传图像 . 当我点击上传图像时,它导航到本地计算机,然后选择指定的图像 . 导航到本地计算机后出错 .
错误:
消息:失败:未知错误:元素在点(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 回答
您可以使用wait元素进行点击
您可以通过任何定位器选择元素,在这种情况下,我是通过xpath选择它,和
包括此声明:
browser.driver.manage().window().maximize();
进入onPrepare()
protractor.conf.js
文件的方法如下所示 .