【发布时间】:2018-10-05 15:02:44
【问题描述】:
我正在尝试使用量角器单击一个元素,但出现异常
(node:9208) UnhandledPromiseRejectionWarning: ElementNotVisibleError: element not interactable
(Session info: chrome=69.0.3497.92)
(Driver info: chromedriver=2.42.591088 (7b2b2dca23cca0862f674758c9a3933e685c27d5),platform=Windows NT 6.1.7601 SP1 x86_64)
at Object.checkLegacyResponse (........\node_modules\selenium-webdriver\lib\error.js:546:15)
at parseHttpResponse (........\node_modules\selenium-webdriver\lib\http.js:509:13)
at doSend.then.response (........\node_modules\selenium-webdriver\lib\http.js:441:30)
at process._tickCallback (internal/process/next_tick.js:68:7)Error
at ElementArrayFinder.applyAction_ (........\node_modules\protractor\built\element.js:459:27)
at ElementArrayFinder.(anonymous function).args [as click] (........\node_modules\protractor\built\element.js:91:29)
at ElementFinder.(anonymous function).args [as click] (........\node_modules\protractor\built\element.js:831:22)
at selenMethods.clickElement (........\folders\utils\SelenMethods.js:49:26)
at ........\folders\pages\homePage.js:28:29
at process._tickCallback (internal/process/next_tick.js:68:7)
以下是 HTML 片段
<a href="#inviteUser" id="menuBtnAdduser" class="list-group-item list-group-child-item close-menu-item list-item-heading ng-scope" translate="templates.usersTable.addUser" xpath="1"><span class="ng-scope">Invite new user</span></a>
下面是点击元素的量角器代码
var EC = protractor.ExpectedConditions;
browser.wait(EC.elementToBeClickable(elemen), 4000);
element(by.xpath("//a[@id='menuBtnAdduser']/span[contains(text(),'Invite new user')]"));
【问题讨论】:
-
嗨@sriam,您是否尝试直接单击链接而不是跨度。我还看到您正在等待一个元素,但它是您发布的那个吗?尝试使用 waitForElementToBeVIsible() 可能会有所帮助。
-
元素是可见的,我也能够突出显示它。但错误表明该元素不可交互。
-
嗨@siram,尝试直接点击链接:element(by.xpath("//a[@id='menuBtnAdduser']")
-
我试过了,它偶尔会工作,错误说“元素不可交互”并且可用的文档非常少......
标签: javascript selenium selenium-webdriver protractor webdriverwait