当前位置: 首页 > 知识库问答 >
问题:

如何点击量角器中的隐藏元素?

汪典
2023-03-14

我有一个元素,只有当我悬停在它上面时才可见。

我编写了以下代码来覆盖面板,以便元素可见。

ptor.actions().
            mouseMove(ptor.findElement(protractor.By.xpath('//*[@id="productapp"]/div/div/div[2]/div/div/div/div[2]/div/div/div/div[4]/table/thead/tr/th[2]'))).
            perform();
        ptor.element.all(by.tagName('i')).then(function(elm){
            elm[0].click();
        });

现在我试着点击它,但它说-ElementNotVisibleError:量角器中的元素不可见错误。

基本场景是,我想将鼠标悬停在面板上,然后单击隐藏元素,因为该元素在悬停之前是不可见的。

共有2个答案

戴原
2023-03-14

以下代码对我有用。

  ptor.actions().
    mouseMove(ptor.findElement(protractor.By.xpath('//*@id="productapp"]/div/div/di‌​v[2]/div/div/div/div[2]/div/div/div/div[4]/table/thead/tr/th[2]'))).perform();

   ptor.element.all(by.css('i.ng-scope.tea-ic-sorting')).then(function(elm){
       elm[0].click();
    });
伏砚
2023-03-14

有时,在某些情况下,您有意要单击隐藏的元素。

一种选择是通过脚本单击:

var elm = element(by.id("myid"));
browser.executeScript("arguments[0].click();", elm.getWebElement());

另请参见:网络驱动程序单击() 与 JavaScript 单击()

另一种方法是,使一个元素可见并单击它。现在,这取决于元素是如何隐藏的——用< code>style.block或< code>style.visibility或用< code>ng-hide等。我们将元素的< code>visibility设置为< code>visible并将< code>display设置为< code>block的示例解决方案:

var elm = element(by.id("myid"));
browser.executeScript(function (arguments) {
    arguments[0].style.visibility = 'visible'; 
    arguments[0].style.display = 'block';
}, elm.getWebElement());
 类似资料:
  • 问题内容: 我有一个元素,只有将鼠标悬停在该元素上时,该元素才可见。 我已经编写了以下代码,将其放在面板上,以便该元素可见。 现在,我尝试单击它,但它说-ElementNotVisibleError:量角器中的元素不可见错误。 基本方案是,我想将鼠标悬停在面板上,然后单击隐藏的元素,因为直到将元素悬停在该元素上才可见。 问题答案: 以下代码为我工作。

  • 问题内容: 有没有一种方法可以单击子菜单中的隐藏值。我希望能够做类似的事情 当菜单项不可见时,或者我们目前受限于此。如果这不可能,那么目前有解决此问题的方法。 问题答案: 好吧,经过漫长而痛苦的搜索,试图找到这个问题的答案之后,我终于遇到了试图回答另一个问题的答案。 我找到的大多数文档都说明了我们必须以WebElement的形式使用Actions,然后将其强制转换为Javascript,并通过带有

  • 问题内容: 我有一个显示一些记录的网格。当我单击记录并检查该元素时,将显示该元素已隐藏但在网格中可见。 我的HTML是: 上面的代码在检查时是隐藏的,但在网格中可见。 selenium代码: 问题答案: 首先说该元素存储在对象中,然后编写以下代码以单击该隐藏元素:

  • 我正在尝试使用量角器登录谷歌帐户 google-account-spec.js conf.js 登录页面.js我正在使用页面对象模式(登录页面是页面对象) 当我尝试点击下一步按钮输入密码时,我得到一个错误 {WebDriverError:未知错误:元素…在点(1100527)处不可单击。其他元素将收到单击: 它说该元素不可点击,但之前在代码中我一直在等待它变得可点击。所以我就是不明白,这个元素怎么

  • 我有一个模式上传图像,当我点击上传图像,它是导航到本地计算机,然后选择指定的图像。在导航到本地计算机后,我发现了一个错误。 2个规格,1个故障。 和我上载映像的代码:

  • 问题内容: 我在CSS上遇到了一些麻烦,似乎找不到解决方案。我有这个HTML 现在,我只想隐藏文本“单击关闭”,而不隐藏div或其中的链接。 能做到吗? 问题答案: 可以在子元素上覆盖该属性,因此您可以执行以下操作: CSS: